скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Определить, установлен ли Macromedia Flash



Оформил: DeeCo

program SeekFlash;

 uses
   Forms, Windows, INIFiles, SysUtils, Dialogs, ShellApi;

 {$R *.RES}

 type
   TVersionInfo = record
     dwSignature,
     dwStrucVersion,
     dwFileVersionMS,
     dwFileVersionLS,
     dwProductVersionMS,
     dwProductVersionLS,
     dwFileFlagsMask,
     dwFileFlags,
     dwFileOS,
     dwFileType,
     dwFileSubtype,
     dwFileDateMS,
     dwFileDateLS: DWORD;
   end;


 var
   //Reg:TRegistry; 
  Ini: TIniFile;
   Text: array[1..4] of string;

   AppPath, IniFile, MySec: string;
   SetupFile, RunFile, SetupClass: string;

   VersionStr, BrowserStr: string;

   {RegSubKey,} OpenBrowser, PlugInName, UseExt: string;
   MainVersion: Word;
   // FoundOne :Boolean; 

  PVer, DPchar, POpenBrowser: PChar;
   MyPoint: Pointer;
   PLen: Cardinal;
   version: ^TVersionInfo;
   DumD: DWORD;
   LWord, HWord: Word;

   CheckHandle: Hwnd;

   //--------------------------- 
  //Gets the Plugin (file-) Version 
  //--------------------------- 
procedure GetVersion(pluginName: string);
 begin
   DPChar := StrAlloc(255);
   DPchar := PChar(PluginName);

   PVer := StrAlloc(getFileVersionInfoSize(DPchar, Plen));
   getFileVersionInfo(DPChar, 0, 255, PVer);
   VerQueryValue(Pver, '\', MyPoint, Plen);

   Version := myPoint;

   dumD  := Version.dwFileVersionMS;
   hword := dumD shr 16;
   lword := dumD and 255;

   MainVersion := hword;
   VersionStr  := IntToStr(Hword) + '.' + IntToStr(LWord);

   dumD  := Version.dwFileVersionLs;
   hword := dumD shr 16;
   lword := dumD and 255;

   versionStr := versionStr + '.' + IntToStr(Hword) + '.' + IntToStr(lWord);
 end;

 begin
   appPath := extractFileDir(Application.exeName);


   // runFile:= 'test.htm'; 
  //runFile must be a html File to determin wich browser(NC or IE) is used 
  POpenBrowser := StrAlloc(255);
   FindExecutable(PChar(extractFileName(runFile)),
     PChar(extractFileDir(runFile)), POpenBrowser);
   OpenBrowser := POpenBrowser;

   if not Fileexists(openBrowser) then
   begin
     MessageDlg(Text[4], mtInformation, [mbOK], 0);
     halt;
   end;


   //set the FileLocations for Netscape or IE 
  if Pos('NETSCAPE.EXE', uppercase(trim(OpenBrowser))) <> 0 then
   begin //found Netscape 
    BrowserStr := 'Netscape Comunicator';
     PlugInName := Copy(OpenBrowser, 1, Pos('NETSCAPE.EXE',
       uppercase(trim(OpenBrowser))) - 1);
     PluginName := PlugInName + 'Plugins\NPSWF32.dll';
   end
   else
   //found IEExplorer 
  begin
     BrowserStr := 'Internet Explorer';

     DPChar := StrAlloc(255);
     GetSystemDirectory(DPChar, 255);
     PluginName := DPChar + '\Macromed\Flash\swflash.ocx';
     DPChar     := nil;
   end;

   GetVersion(pluginName);

   //returned Version Number, may be checked 
  while mainVersion < 4 do
   begin
     if messagedlg(Text[2], mtInformation, [mbYes, mbNo], 0) = 6 then
     begin
       //installFlash; 
    end
     // if message 
    else
       halt;

     getVersion(pluginName);
   end; // while mainVer 
end.





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook