如何获取PE格式文件的完整版本信息? 包括产品版本,产品名称,公司名,内部名称,语言,原文件名,备注等。我指的是获取任意的EXE文件、DLL文件等PE格式文件的完整版本信息,编程实现。请给出例程,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要想获得文件的版本信息,只能使用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的函数列表:GetFileVersionInfoAGetFileVersionInfoSizeAGetFileVersionInfoSizeWGetFileVersionInfoWVerFindFileAVerFindFileWVerInstallFileAVerInstallFileWVerLanguageNameAVerLanguageNameWVerQueryValueAVerQueryValueIndexAVerQueryValueIndexWVerQueryValueW在http://support.microsoft.com/default.aspx?scid=kb;en-us;139491有一个例程。虽然不能完全满足你的要求,但是,相信你完善一下,应该就可以了 求X=sin(a) 我怎么算不出正确结果!?帮帮 跪求解,疑难杂症。高手进。。。。。 是关于树的显示问题,在线等待,特急...... 找工作,很烦!!近来聊聊吧 用recordset方法不能编辑记录的问题 各位大侠,求助!!! 急求VB答案。。谢谢!! 求教!100分,MsHFlexGrid 怎么合并单元格(0,0)(0,1)(1,0)(1,1)? VB 如何自动点击网页上的按钮? 在vb6.0报表中怎么用“select distinct ..from...”? 我们非科班出身的怎么办? 会话偶尔无法打开,请高手指点?
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有一个例程。虽然不能完全满足你的要求,但是,相信你完善一下,应该就可以了