Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winapi VerQueryValue文件版本不';与Windows外壳不匹配_Winapi_Dll_Versioninfo - Fatal编程技术网

Winapi VerQueryValue文件版本不';与Windows外壳不匹配

Winapi VerQueryValue文件版本不';与Windows外壳不匹配,winapi,dll,versioninfo,Winapi,Dll,Versioninfo,我正在使用从DLL的VersionInfo检索字符串 除了浏览器显示的文件版本(右键单击file,Properties,Details,“file Version”)与我从VerQueryValue中获取的字符串不匹配之外,所有这些都可以正常工作 我对VerQueryValue的所有其他调用都工作正常,但FileVersion似乎检索到与ProductVersion相同的数据。我已经尝试了两种不同的“版本信息”组件,它们用不同的语言(C++和Delphi)编写,它们都表现出这种行为,所以我不认为

我正在使用从DLL的VersionInfo检索字符串

除了浏览器显示的文件版本(右键单击file,Properties,Details,“file Version”)与我从VerQueryValue中获取的字符串不匹配之外,所有这些都可以正常工作

我对VerQueryValue的所有其他调用都工作正常,但FileVersion似乎检索到与ProductVersion相同的数据。我已经尝试了两种不同的“版本信息”组件,它们用不同的语言(C++和Delphi)编写,它们都表现出这种行为,所以我不认为这是我(或它们)代码中的一个错误。 我可以想到两种可能性:

  • VerQueryValue中的一个bug
  • 或者,Windows shell实际上显示的不是文件版本字符串

有人知道它可能是哪个吗?

VerQueryValue的lpSubBlock参数(第二个参数)是否设置为您所在区域的正确值?对于英国-联合王国,这将是:

StringFileInfo\080904E4\FileVersion
还有一些语言/字符集标识符。

请阅读此内容
,我想你会找到答案的。

欢迎来到SO。请看一下开始的步骤。请不要只是转储链接。解释他们所指的内容以及内容如何回答问题。