1.请问如何获取IE版本号和office版本号?
2.通过API函数可以获得系统一些信息,但是我还想获取windows版本的详细信息,如:GetVersionEx()只能分别win32,win95/98,win/nt这三种版本,可是我想能得到更详细的,就像查看‘我的电脑’的‘属性’那里看到的。

解决方案 »

  1.   

    读取注册表
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version Vector
      

  2.   

    OFFICE
    HKEY_CURRENT_USER\Software\Microsoft\Office\9.0      //9.0
    IE
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version Vector
      

  3.   

    win98,2000,xp的注册表路径是一样的吗??
      

  4.   

    Office2000是9.0,OfficeXP是10.0 。
      

  5.   

    用getfileversionionfo应该好一些吧。
      

  6.   

    type
      PFixedFileInfo = ^TFixedFileInfo;
      TFixedFileInfo = record
         dwSignature       : DWORD;
         dwStrucVersion    : DWORD;
         wFileVersionMS    : WORD;  // 次版本号
         wFileVersionLS    : WORD;  // 主版本号
         wProductVersionMS : WORD;  // 建立次数(build)
         wProductVersionLS : WORD;  // 发行次数(release)
         dwFileFlagsMask   : DWORD;
         dwFileFlags       : DWORD;
         dwFileOS          : DWORD;
         dwFileType        : DWORD;
         dwFileSubtype     : DWORD;
         dwFileDateMS      : DWORD;
         dwFileDateLS      : DWORD;
      end;
    function FileInfo( const FileName :String ) : TFixedFileInfo;
    var
      dwHandle, dwVersionSize : DWORD;
      strSubBlock             : String;
      pTemp                   : Pointer;
      pData                   : Pointer;
    begin
       strSubBlock := '\';   // 取得文件版本信息的大小
       dwVersionSize := GetFileVersionInfoSize( PChar( FileName ), dwHandle );
       
       if dwVersionSize <> 0 then
       begin
          GetMem( pTemp, dwVersionSize );
          try
             //取文件版本信息
             if GetFileVersionInfo( PChar( FileName ),dwHandle,         
                                    dwVersionSize,pTemp ) then
                //查询文件版本信息
                if VerQueryValue( pTemp,PChar( strSubBlock ),
                                  pData,dwVersionSize ) then 
                   Result := PFixedFileInfo( pData )^;
          finally
             FreeMem( pTemp );
          end; // try
       end; // if dwVersionSize
    end;procedure TForm1.Button3Click(Sender: TObject);
    var
        f1:string;
        x :TFixedFileInfo;
    begin
        f1 := 'C:\Program Files\Internet Explorer\IEXPLORE.EXE';
        x := FileInfo( f1 );
        ShowMessage( f1 +
                     #13#10'Version: ' + IntToStr( x.wFileVersionLS ) + '.' + 
                           IntToStr( x.wFileVersionMS ) +
                     #13#10'Release: ' + IntToStr( x.wProductVersionLS) +
                     #13#10'Build: '  + IntToStr( x.wProductVersionMS ) );end;end.