gpt4 book ai didi

winapi - 调用 VerQueryValue 时出现错误 1813

转载 作者:行者123 更新时间:2023-12-04 18:20:48 29 4
gpt4 key购买 nike

我想获取 dll 或 exe 的版本信息。为此,我调用函数 VerQueryValue。

这是我的代码:

    UINT  dwBytes;

DWORD dwSize = GetFileVersionInfoSizeA(pszFile, (DWORD*)&dwBytes);
if( dwSize == 0)
return;

struct LANGANDCODEPAGE {
WORD wLanguage;
WORD wCodePage;
} *lpTranslate;

UINT cbTranslate;

LPVOID lpData = (LPVOID)malloc(dwSize);
ZeroMemory(lpData, dwSize);
if(GetFileVersionInfoA(pszFile, 0, dwSize, lpData) )
{
VerQueryValueA(lpData,
"\\VarFileInfo\\Translation",
(LPVOID*)&lpTranslate,
&cbTranslate);

// Read the file description for each language and code page.
char strSubBlock[MAX_PATH] = {0};
char* lpBuffer;

for(int i=0; i < (cbTranslate/sizeof(struct LANGANDCODEPAGE)); i++ )
{
sprintf(strSubBlock,
"\\StringFileInfo\\%04x%04x\\FileDescription",
lpTranslate[i].wLanguage,
lpTranslate[i].wCodePage);


// Retrieve file description for language and code page "i".
VerQueryValueA(lpData,
strSubBlock,
(void**)&lpBuffer,
&dwBytes);
}
}
free( lpData );

调用 VerQueryValueA 时出现 1813 错误。此代码与 url http://msdn.microsoft.com/zh-cn/library/ms647464%28v=vs.85%29 几乎相同.

我已经在vc++6和vc++2005下测试过代码,得到了同样的错误。我的windows是win7。

我应该如何解决它?先谢谢了。

最佳答案

根据MSDN ,此错误代码映射到 ERROR_RESOURCE_TYPE_NOT_FOUND。因此,我会得出结论,图像文件中不存在您要查找的资源 (FileDescription)。

关于winapi - 调用 VerQueryValue 时出现错误 1813,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10730077/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com