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

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

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.

Взято с сайта: http://www.swissdelphicenter.ch

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...