C++ GetBinaryType Failing
C++ GetBinaryType Failing
我使用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的GetBinaryType
:
返回值
如果文件是可执行的,则返回值为非零。该函数设置lpBinaryType指向的变量,以指示文件的可执行类型。
将上面的代码更改为这个应该可以做到:
if (GetBinaryType(ChildFile(), &dwBinaryType)
&& dwBinaryType == SCS_64BIT_BINARY)
{
// ...
}
相关文章:
- CreateDepthStencilView() is failing
- CGAL static_cast failing
- Qt C++ Modulo Operator Failing
- I_CHILDRENCALLBACK 64bit failing
- C++ GetBinaryType Failing
- IDWriteFactory::CreateTextFormat() failing
- fopen() failing
- C++ Minmax Failing
- IE9 GetPropertyByName failing
- C++: gethostname() failing
- Qt QMap.insert() failing
- wxSocket wxWidgets failing
- WaitForMultipleObjects failing c++
- CreateWindowEx failing