itzyx 发表于 2021-2-21 13:50:40

【已解决】FileGetVersion 获取的软件版本信息为什么偶尔与控制面板显示的不一致

本帖最后由 itzyx 于 2021-2-22 11:21 编辑

MsgBox(0,'',FileGetVersion("C:\Program Files (x86)\Tencent\WeChat\WeChat.exe"))   获取微信的版本信息,结果显示是:3.0.0.0    但是查看 控制面板获取的版本信息是:2.9.5.56,验证了多次,发现有的软件版本匹配,有的不匹配,这是为什么?
有什么函数 可以直接获取控制面板上显示的版本信息吗,希望大佬们帮忙看一下,感谢!

风过无痕 发表于 2021-2-21 16:06:20

有产品版本和软件版本之分,注意仔细看帮助文件
    FileGetVersion("C:\Program Files (x86)\Tencent\WeChat\WeChat.exe","FileVersion"),这样写试试
    $FV_COMMENTS ("Comments") 注释
    $FV_COMPANYNAME ("CompanyName") 公司名称
    $FV_FILEDESCRIPTION ("FileDescription") 文件描述
    $FV_FILEVERSION ("FileVersion") 文件版本
    $FV_INTERNALNAME ("InternalName") 内部名称
    $FV_LEGALCOPYRIGHT ("LegalCopyright") 版权
    $FV_LEGALTRADEMARKS ("LegalTrademarks") 商标
    $FV_ORIGINALFILENAME ("OriginalFilename") 原始文件名
    $FV_PRODUCTNAME ("ProductName") 产品名称
    $FV_PRODUCTVERSION ("ProductVersion") 产品版本
    $FV_PRIVATEBUILD ("PrivateBuild") 私用构建
    $FV_SPECIALBUILD ("SpecialBuild") 专用构建

itzyx 发表于 2021-2-21 16:22:33

本帖最后由 itzyx 于 2021-2-21 17:18 编辑

风过无痕 发表于 2021-2-21 16:06
有产品版本和软件版本之分,注意仔细看帮助文件
    FileGetVersion("C:\Program Files (x86)\Tencent\WeC ...
谢谢解答,试了一下,加 FileDescription 与不加FileDescription   两个版本显示结果都是一样的,还是与控制面板不一致

afan 发表于 2021-2-21 18:08:36

itzyx 发表于 2021-2-21 16:22
谢谢解答,试了一下,加 FileDescription 与不加FileDescription   两个版本显示结果都是一样的,还是与 ...

不知道你写的啥……
MsgBox(0, FileGetVersion("C:\Program Files (x86)\Tencent\WeChat\WeChat.exe", "FileVersion"), FileGetVersion("C:\Program Files (x86)\Tencent\WeChat\WeChat.exe", "ProductVersion"))

gyp2000 发表于 2021-2-21 19:39:15

微信的可执行文件的版本号就是3.0.0.0 检测是没错的,微信关于里的版本号,那是软件的版本号。和文件自身的版本号无关。

gyp2000 发表于 2021-2-21 19:43:59

如果想获取和 软件关于相同的版本号,那么你需要找到 关于版本号和文件版本号一致的文件,比如:WeChatApp.exe 和 WeChatWin.dll

gyp2000 发表于 2021-2-21 19:49:23

当然 这样依然可能无法找到对应版本号的文件,那么你就只能去注册表了,注册表中有微信的版本号信息:
计算机\HKEY_CURRENT_USER\Software\Tencent\WeChat\CrashVersion

itzyx 发表于 2021-2-21 22:15:43

afan 发表于 2021-2-21 18:08
不知道你写的啥……

不好意思,粘贴太快了,就是FileVersion, ProductVersion,两个显示结果都一样,可能是 五楼说的那是软件的版本号,和文件自身的版本号无关。 我主要就是 想获取软件版本 信息和控制面板显示一致就好了

itzyx 发表于 2021-2-21 22:20:37

gyp2000 发表于 2021-2-21 19:49
当然 这样依然可能无法找到对应版本号的文件,那么你就只能去注册表了,注册表中有微信的版本号信息:
计 ...

大佬 关键微信只是其中之一,其他的软件 也有获取版本信息不一致的, 不知道能不能够一劳永逸,设置一个变量(选择不同的文件名),来实时获取版本信息(和控制面板显示的一致)

callmekq 发表于 2021-2-21 23:45:52

微信
当前版本号查看:WeChatWin.dll

itzyx 发表于 2021-2-22 09:24:11

callmekq 发表于 2021-2-21 23:45
微信
当前版本号查看:WeChatWin.dll

您好,微信版本号可以查看 WeChatWin.dll,其他的软件该如何查看呢 (就是版本信息显示结果和控制面板显示的一致)

callmekq 发表于 2021-2-22 09:39:38

itzyx 发表于 2021-2-22 09:24
您好,微信版本号可以查看 WeChatWin.dll,其他的软件该如何查看呢 (就是版本信息显示结果和控制面板显 ...

我装的软件大部分是绿色版,控制面板上的几乎用不到:face (1):

itzyx 发表于 2021-2-22 09:42:03

callmekq 发表于 2021-2-22 09:39
我装的软件大部分是绿色版,控制面板上的几乎用不到

好吧   还是感谢您的解答

afan 发表于 2021-2-22 09:51:05

也不说清楚,你说的控制面板是添加删除程序?那些都是在注册表中的信息,你用FileGetVersion?…… Get 哪个?
键项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
值项 DisplayVersion

itzyx 发表于 2021-2-22 10:27:31

afan 发表于 2021-2-22 09:51
也不说清楚,你说的控制面板是添加删除程序?那些都是在注册表中的信息,你用FileGetVersion?…… Get 哪 ...

好的,感谢A大,主要自己也没太搞清楚, 然后没表达明白意思,下次一定注意{:1_336:}
页: [1] 2
查看完整版本: 【已解决】FileGetVersion 获取的软件版本信息为什么偶尔与控制面板显示的不一致