. Мы предоставляем учебные видеоролики по Flash, которые устанавливаются на локальный (Windows )жесткий диск вместе с нашим приложением. Наше приложение использует ShellExecute для открытия html-файла (в любом браузере, связанном с html-файлами ), в которые они встроены.
По-видимому, в более поздних Flash-плеерах Chrome есть ошибка, из-за которой не удается воспроизвести локальные файлы (. но файлы через Интернет в порядке.)
(Честно говоря, я удивлен, что эта ошибка не была исправлена Google. Мне это кажется большим… но, может быть, немногие играют во Flash из других мест, кроме Интернета?)
На экране :плагинов в Chrome есть работа -, но мы не можем просить наших пользователей сделать это. Вот обсуждение работы -вокруг:http://techsmith.custhelp.com/app/answers/detail/a_id/3518
Я хочу предоставить своим пользователям возможность открывать наши html-файлы в IE. Если Chrome является их браузером по умолчанию , я бы показывал флажок, говорящий что-то смущающее, например: «Если наши обучающие видео не воспроизводятся, установите этот флажок, чтобы попробовать их в IE».
Это код XE2 (двухлетней давности на SO:ссылка)еще разумно?
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;