我想获取一些C++代码(基本上this)模块的版本信息,我得到编译时错误。下面的代码:与GetModuleFileNameW铸造错误
WCHAR fileName[MAX_PATH];
HMODULE module = GetModuleHandle(L"some-module");
DWORD size = GetModuleFileName(module, fileName, MAX_PATH);
,编译器将返回:
error C2664: 'GetModuleFileNameW' : cannot convert parameter 1 from 'WHANDLE' to 'HMODULE' Conversion from 'void*' to pointer to non-'void' requires an explicit cast
这到底是怎么回事? GetModuleHandle
返回HMODULE
,这是GetModuleFileName
记录的第一个参数。
这里是什么它的价值编译器的版本:
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved.
谢谢!
你确定这是正确的代码和右的错误? 'GetModuleFileName'调用中的'module'显然已经是'HMODULE'类型。 – jamesdlin