Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как программно определить установлен Flash [D7, WinXP]


TitanDesign ©   (2004-10-02 06:21:00) 

Как программно определить установлен ли плугинс Flash, а если нет то тогда бы запускался *.exe файл?


Dimaxx   (2004-10-02 13:06:00) [1]

Проверить наличие ветки реестра:

HKEY_CLASSES_ROOT\CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}

Если есть, то установлен. Но почему-то проверяешь - есть такой, а запускаешь прогу, в которой используется этот ActiveX-плагин, ошибка и пишет "Класс не зарегистрирован". Проходится при создании формы с плагином извращаться так:

var
 R: HKey;
 FS: string;

...

R:=RegKeyOpenRead(HKEY_CLASSES_ROOT,'CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}\InprocServer32');
if R<>0 then
 begin
   // Читаем путь и имя файла к плагину
   FS:=RegKeyGetStr(R,'');
   RegKeyClose(R);
   // Если такой файл есть - регистрируем в системе
   if FileExists(FS) then RegisterCOMServer(FS);
 end;


Функция RegisterCOMServer находится в COMobj.pas. Тогда работает. Но если такая ветвь не найдена - глючит.

Мне тоже интересно как правильно проверить наличие этого плагина и корректно отображать флэшки без ошибок.


GanibalLector   (2004-10-02 12:59:00) [2]

Вроде CLSIDFromProgID должен помочь.Ну а если нет,то реестр пока еще не отменяли.


Наверх

Титульная страница Поиск, карта сайта Написать письмо