包括产品版本,产品名称,公司名,内部名称,语言,原文件名,备注等。
我指的是获取任意的EXE文件、DLL文件等PE格式文件的完整版本信息,编程实现。
请给出例程,谢谢!

解决方案 »

  1.   

    要想获得文件的版本信息,只能使用API函数。与此相关的Windows API都包含在version.dll中,在Win32api.txt中包括了所需的所有Visual Basic声明。读取一个可执行文件的版本信息首先要调用GetFileVersionInfoSize来获取指定的文件中版本信息的大小。如果这个函数返回0,通常说明这个文件中不包含版本信息。如果该文件中包含版本信息,就可以使用GetFileVersionInfo来读取版本信息。接着使用VerQueryValue函数来从获得的版本信息中得到进一步的内容。这个函数的定义如下: 
        Declare Function VerQueryValue Lib "version.dll" Alias _ 
         "VerQueryValue" (pBlock As Any, ByVal lpSubBlock As String, _ 
         ByVal lplpBuffer As Long, puLen As Long) As Long 
        其中,pBlock是利用GetFileVersionInfo得到的版本信息,lpSubBlock是一个字符串,它说明你想知道的具体的版本信息内容,如:\VarFileInfo\Translation代表语言版本下面是version.dll的函数列表:
    GetFileVersionInfoA
    GetFileVersionInfoSizeA
    GetFileVersionInfoSizeW
    GetFileVersionInfoW
    VerFindFileA
    VerFindFileW
    VerInstallFileA
    VerInstallFileW
    VerLanguageNameA
    VerLanguageNameW
    VerQueryValueA
    VerQueryValueIndexA
    VerQueryValueIndexW
    VerQueryValueW在http://support.microsoft.com/default.aspx?scid=kb;en-us;139491有一个例程。虽然不能完全满足你的要求,但是,相信你完善一下,应该就可以了