找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 8559|回复: 6

获取EXE版本号、公司名、描述等信息的代码出了问题

[复制链接]

76

主题

375

回帖

0

精华

铜牌会员

积分
231
发表于 2009-10-12 01:58:33 | 显示全部楼层 |阅读模式
<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"> GDkhS7rW.zip (6.6 KB, 下载次数: 17287) </font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana">部分资料:</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana"></font>&nbsp;</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">&nbsp;</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>&nbsp;</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/>&nbsp;</p></font>

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2009-10-12 02:43:50 | 显示全部楼层
<p><font face="Verdana">VerQueryValue</font>第三个参数返回的是个指针.</p>
<p>&nbsp;</p>
<p>而你后面根据这个指针复制字符串时,却把这个指针转化为字符串了...........</p>
<p>&nbsp;</p>
<p><font face="Verdana">lstrcpy</font>的第二个参数的声明,改为As Long就行了,不然VB会自动转换为字符串再传进去.</p>
我就是嗷嗷叫的老马了......

76

主题

375

回帖

0

精华

铜牌会员

积分
231
 楼主| 发表于 2009-10-12 02:52:25 | 显示全部楼层
<p>多谢!</p>

76

主题

375

回帖

0

精华

铜牌会员

积分
231
 楼主| 发表于 2009-10-12 03:08:02 | 显示全部楼层
如果EXE文件有版本信息但没有公司名称,点击第二个按钮会显示乱码。不知如何判断是否有公司名称?

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2009-10-12 03:21:09 | 显示全部楼层
http://www.m5home.com/bbs/thread-3094-1-1.html

我刚刚上传了一个以前收藏的模块,你可以参考一下它的代码.

你可以使用eXeScope打开一个文件,看看其"资源--->版本"中的内容,是个树型结构.

其实GetFileVersionInfo返回的那个缓冲区里就是这些所有的内容了,完全可以自己去解析,只是比较麻烦而已.

在你代码里面GetFileVersionInfo调用后,使用"Debug.Print StrConv(FileInfoData(), vbUnicode)"就可以看到了.
我就是嗷嗷叫的老马了......

76

主题

375

回帖

0

精华

铜牌会员

积分
231
 楼主| 发表于 2009-10-12 23:59:24 | 显示全部楼层
谢谢!

30

主题

693

回帖

0

精华

钻石会员

积分
2815
发表于 2015-7-16 13:02:23 | 显示全部楼层
不错不错 感谢分享
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表