本人安装了一个MediaPlayer6的控件,请问如何在Delphi里面得到这个OCX控件的版本号,如6.4.0.53的。    希望各位能指点一二,谢谢了!

解决方案 »

  1.   

    API函数GetFileVersionInfo可以得到————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  2.   

    function GetVisionInfo(aFileName:string = ''):string;
    --------------
    function TForm1.GetVisionInfo(aFileName: string): string;
    const
      SFInfo = '\StringFileInfo\';
    var
      strSelFile: string;
      InfoSize, Size: DWord;
      VersionInfo, Pt: Pointer;
      VersionValue: string;
      Translation: Pointer;
    begin  Size := 0;  if aFileName='' then
       strSelFile := Application.ExeName
      else
       strSelFile := aFileName;  InfoSize := GetFileVersionInfoSize(PChar(strSelFile), Size);  if InfoSize > 0 then
      begin
        GetMem(VersionInfo, InfoSize);    try
          GetFileVersionInfo(PChar(strSelFile), 0, InfoSize, VersionInfo);      VerQueryValue(VersionInfo, '\VarFileInfo\Translation', Translation, InfoSize);
          VersionValue := SFInfo + IntToHex(LoWord(Longint(Translation^)), 4) +
            IntToHex(HiWord(Longint(Translation^)), 4) + '\';
          //文件版本
          if VerQueryValue(VersionInfo, pchar(VersionValue + 'FileVersion'), Pt, InfoSize) then
            Result := string(pchar(Pt));
        finally
          FreeMem(VersionInfo);
        end;
      end;
    end;
    -------
    procedure TForm1.Button5Click(Sender: TObject);
    var
      FileVersion: string;
    begin
      FileVersion := GetVisionInfo('test.dll');
      showmessage(FileVersion);
    end;