Proporcionamos videos tutoriales en Flash que se instalan en el disco duro local (Windows) con nuestra aplicación. Nuestra aplicación utiliza ShellExecute para abrir el archivo html (en cualquier navegador asociado a archivos html) en el que están integrados.Detecta Chrome como navegador asociado a archivos html en Windows
Al parecer hay un error en los reproductores de Flash más recientes de Chrome que no termina de jugar archivos locales (pero archivos a través de Internet están bien.)
(Francamente, estoy sorprendido de que este error no ha sido arreglado por Google. Parece una gran cosa para mí ... pero tal vez no muchas personas juegan Flash desde otras ubicaciones además de la web?)
Hay una solución alternativa en la pantalla acerca de: complementos en Chrome, pero podemos Les pedimos a nuestros usuarios que hagan eso. Aquí hay una discusión de la solución alternativa: http://techsmith.custhelp.com/app/answers/detail/a_id/3518
Quiero ofrecer a mis usuarios la opción de abrir nuestros archivos html IE. Si Chrome es su navegador predeterminado, mostraría una casilla que diga algo embarazoso como "Si nuestros videos tutoriales no se reproducen, marque esta casilla para probarlos en IE".
¿Sigue siendo razonable este código XE2 (desde hace dos años en SO: link)?
if pos('CHROME', UpperCase(GetAssociation('C:\Path\File.html')) > 0 then
// Chrome is the default browser
function GetAssociation(const DocFileName: string): string;
var
FileClass: string;
Reg: TRegistry;
begin
Result := '';
Reg := TRegistry.Create(KEY_EXECUTE);
Reg.RootKey := HKEY_CLASSES_ROOT;
FileClass := '';
if Reg.OpenKeyReadOnly(ExtractFileExt(DocFileName)) then
begin
FileClass := Reg.ReadString('');
Reg.CloseKey;
end;
if FileClass <> '' then begin
if Reg.OpenKeyReadOnly(FileClass + '\Shell\Open\Command') then
begin
Result := Reg.ReadString('');
Reg.CloseKey;
end;
end;
Reg.Free;
end;
HKEY_CLASSES_ROOT \ Shell \ Open \ Command le dice al shell de Windows qué programa usar para abrir archivos HTML. Para ver lo que usa el usuario para navegar en Internet, verifique HKEY_CLASSES_ROOT \ .html. – cleong
Abrir archivos HTML locales que contienen Flash es problemático en los tres principales navegadores. IE arroja un feo mensaje de advertencia. Firefox podría fallar si el SWF hace algo que activa la ventana de advertencia de seguridad de Flash en el momento incorrecto. Cosas de pesadilla. – cleong
No es un error, es un agujero de seguridad, y lo cerraron. –