gpt4 book ai didi

C++ GetBinaryType 失败

转载 作者:行者123 更新时间:2023-11-30 01:55:52 30 4
gpt4 key购买 nike

我正在使用 GetBinaryType 检查可执行文件是 32 位还是 64 位。我正在针对 64 位文件进行测试,但它一直失败。我相信这是由于我比较 DWORD 结果的方式所致?

我正在使用 Visual Studio 2010 C++:

DWORD dwBinaryType;
if (GetBinaryType(ChildFile(), &dwBinaryType) == 6)
{
MessageBox(NULL, L"64bit Detected...", L"Debug: GetBinaryType", MB_OK); // DEBUG
}
else
{
MessageBox(NULL, L"Probably 32bit...", L"Debug: GetBinaryType", MB_OK); // DEBUG
}

任何建议都将非常感谢。

最佳答案

根据 MSDN for GetBinaryType :

Return value

If the file is executable, the return value is nonzero. The function sets the variable pointed to by lpBinaryType to indicate the file's executable type.

将上面的代码改成这样应该可以解决问题:

if (GetBinaryType(ChildFile(), &dwBinaryType)
&& dwBinaryType == SCS_64BIT_BINARY)
{
// ...
}

关于C++ GetBinaryType 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20308195/

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