获取EXE版本号、公司名、描述等信息的代码出了问题
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana">我参考一些资料学了一下<font style="BACKGROUND-COLOR: #ffffff" face="Verdana">获取EXE版本号、公司名、描述等信息的方法。并写了代码。但第二个按钮本来应该显示公司名称,却显示了数字。没找出哪里有问题。请看看代码。</font></font></p><p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana"></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana">部分资料:</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana"></font> </p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana"><font style="BACKGROUND-COLOR: #ffffff" face="Verdana"><a href="http://support.microsoft.com/kb/160042/zh-cn">http://support.microsoft.com/kb/160042/zh-cn</a></font></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana"> </p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana"><a href="http://www.vckbase.com/document/viewdoc/?id=1642">http://www.vckbase.com/document/viewdoc/?id=1642</a></font></p>
<p> </p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana"><a href="http://www.hudong.com/wiki/VerQueryValue">http://www.hudong.com/wiki/VerQueryValue</a></font></p>
<p><br/> </p></font> <p><font face="Verdana">VerQueryValue</font>第三个参数返回的是个指针.</p>
<p> </p>
<p>而你后面根据这个指针复制字符串时,却把这个指针转化为字符串了...........</p>
<p> </p>
<p><font face="Verdana">lstrcpy</font>的第二个参数的声明,改为As Long就行了,不然VB会自动转换为字符串再传进去.</p> <p>多谢!</p> 如果EXE文件有版本信息但没有公司名称,点击第二个按钮会显示乱码。不知如何判断是否有公司名称? http://www.m5home.com/bbs/thread-3094-1-1.html
我刚刚上传了一个以前收藏的模块,你可以参考一下它的代码.
你可以使用eXeScope打开一个文件,看看其"资源--->版本"中的内容,是个树型结构.
其实GetFileVersionInfo返回的那个缓冲区里就是这些所有的内容了,完全可以自己去解析,只是比较麻烦而已.
在你代码里面GetFileVersionInfo调用后,使用"Debug.Print StrConv(FileInfoData(), vbUnicode)"就可以看到了.
谢谢! 不错不错 感谢分享
页:
[1]