VerQueryValue函数从指定的版本信息资源中检索指定的版本信息。
来源:互联网 发布:js options的用法 编辑:程序博客网 时间:2024/05/16 07:44
VerQueryValue函数-------------------------------------------------- ------------------------------VerQueryValue函数从指定的版本信息资源中检索指定的版本信息。要在调用VerQueryValue之前检索适当的资源,必须先调用GetFileVersionInfoSize函数,然后调用GetFileVersionInfo函数。句法BOOL VerQueryValue(const LPVOID pBlock, LPTSTR lpSubBlock, LPVOID * lplpBuffer, PUINT puLen);参数pBlock[in]指向包含GetFileVersionInfo函数返回的版本信息资源的缓冲区的指针。 lpSubBlock[in]指向一个零终止字符串的指针,指定要检索的版本信息值。字符串必须由用反斜杠(\)分隔的名称组成,它必须具有以下形式之一。\指定根块。该函数检索指向版本信息资源的VS_FIXEDFILEINFO结构的指针。\VarFileInfo\Translation指定Var变量信息结构中的转换数组。该函数检索指向一个语言和代码页标识符数组的指针。应用程序可以使用这些标识符访问版本信息资源中的特定于语言的StringTable结构。\StringFileInfo\lang-codepage\string-name指定特定于语言的StringTable结构中的值。lang-codepage名称是在资源的翻译数组中作为DWORD找到的语言和代码页标识符对的连接。这里的lang-codepage名称必须指定为十六进制字符串。字符串名称必须是以下“备注”部分中描述的预定义字符串之一。该函数检索指定的语言和代码页特定的字符串值。lplpBuffer[out]指向接收指向pBlock指向的缓冲区中请求的版本信息的指针的变量的指针。* lplpBuffer指向的内存在相关联的pBlock内存被释放时被释放。puLen[out]指向接收版本信息值长度(以字符为单位)的缓冲区的指针。 回报值如果指定的版本信息结构存在,并且版本信息可用,则返回值不为零。如果长度缓冲区的地址为零,则没有值可用于指定的版本信息名称。如果指定的名称不存在或指定的资源无效,返回值为零。 备注Windows NT 3.51及更早版本:版本信息功能不适用于16位Windows文件映像。 Windows 95/98 / Me,Windows NT 4.0和Windows 2000:这些功能适用于16位和32位文件映像。Windows XP:这些功能适用于16位,32位和64位文件映像。以下是预定义的版本信息Unicode字符串: 评论InternalName ProductName 公司名称LegalCopyright ProductVersion FileDescription LegalTrademarks PrivateBuild FileVersion OriginalFilename SpecialBuild 例以下示例显示如何枚举可用的版本语言并检索每种语言的FileDescription字符串值。 在调用VerQueryValue之前,请确保调用GetFileVersionInfoSize和GetFileVersionInfo函数来正确初始化pBlock缓冲区。Windows 95/98 / Me:VerQueryValueW由Microsoft支持?Unicode的层。为\ StringFileInfo \信息再次调用此函数会覆盖第一次调用中的信息,因此如果以后要使用该信息,则必须保存该信息。要使用此版本,您必须向应用程序添加某些文件,如Windows 95/98 / Me系统上的Microsoft Layer for Unicode所述。显示示例//用于存储枚举语言和代码页的结构。HRESULT hr;struct LANGANDCODEPAGE { WORD wLanguage; WORD wCodePage;} *lpTranslate;// Read the list of languages and code pages.VerQueryValue(pBlock, TEXT("\\VarFileInfo\\Translation"), (LPVOID*)&lpTranslate, &cbTranslate);// Read the file description for each language and code page.for( i=0; i < (cbTranslate/sizeof(struct LANGANDCODEPAGE)); i++ ){ hr = StringCchPrintf(SubBlock, 50, TEXT("\\StringFileInfo\\%04x%04x\\FileDescription"), lpTranslate[i].wLanguage, lpTranslate[i].wCodePage);if (FAILED(hr)){// TODO: write error handler.} // Retrieve file description for language and code page "i". VerQueryValue(pBlock, SubBlock, &lpBuffer, &dwBytes); }功能信息最低版本的DLL版本 Header在Winver.h中声明,包括Windows.h 导入库Version.lib 最低操作系统Windows 95,Windows NT 3.1 Unicode实现为ANSI和Unicode版本。 也可以看看版本信息概述,GetFileVersionInfo,VarFileInfo,Var,StringFileInfo,StringTable,String,GetFileVersionInfoSize,VS_FIXEDFILEINFO,VS_VERSIONINFO-------------------------------------------------- ------------------------------?2005年微软公司。版权所有。
阅读全文
0 0
- VerQueryValue函数从指定的版本信息资源中检索指定的版本信息。
- GetFileVersionInfoSize函数确定操作系统是否可以检索指定文件的版本信息
- Mechanize版本的指定
- maven中如何指定jdk的版本
- maven中如何指定jdk的版本
- conda 安装指定版本的指定包
- 获取指定应用的名称、版本等信息
- 安装指定版本的Rails
- git 回滚到指定的版本
- git 回滚到指定的版本
- R的指定版本安装
- 安装指定版本的docker
- 从TFS获取指定日期后的最新版本文件
- 从卸载程序需注册表中读取指定软件名称的版本
- 如何让java运行在指定版本的JRE中
- 【转】在特定环境中安装指定版本的Docker
- CentOS 7中安装指定的Kernel版本
- 指定maven编译的jdk版本
- 如何按国家标准分幅下载卫星地图
- 百度地图定位错误UnsatisfiedLinkError; thrown while initializing Lcom/baidu/platform/comapi/a的解决办法
- mybatis学习:一
- Ubuntu常用软件安装
- 第一课
- VerQueryValue函数从指定的版本信息资源中检索指定的版本信息。
- 为Docker容器指定自定义网段的固定IP/静态IP地址
- jQuery选择器
- 保险与护身符
- Thinkphp输出多个,号隔开的数据
- 记录自已学习之面试题2
- 基于ES6测试一个字符由两个字节还是由四个字节组成的最简单方法
- MxCAD手机版6.0 2017.5.10更新
- 欢迎使用CSDN-markdown编辑器