我只是想基于一个字符串获取模块信息,该字符串很可能类似于“somefile.exe”。
MODULEINFO GetModuleInfo(char *szModule)
{
MODULEINFO modinfo = {0};
HMODULE hModule = GetModuleHandle(szModule);
if(hModule == 0)
return modinfo;
GetModuleInformation(GetCurrentProcess(), hModule, &modinfo, sizeof(MODULEINFO));
return modinfo;
}
类型“char *”的错误参数与GetModuleHandle中出现的类型“LPCWSTR”的参数不兼容。
现在,我尝试了许多步骤,例如:
(LPCWSTR)szModule
。这使程序成功构建,但是没有按预期工作。 L"somefile.exe"
来使用unicode。但是,这很完美,不用说这不是很实用。 我的问题是:如果
GetModuleHandle(szModule)
是szModule
类型,如何使char*
编译?如果有帮助,我正在使用Visual Studio 2015。
最佳答案
我认为让GetModuleHandle(szModule)
拥有 future 不是一个好主意。
尝试使用GetModuleHandleA(szModule)
代替char *szModule;
。
关于c++ - 如何将char *传递给GetModuleHandle函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32774200/