gpt4 book ai didi

c++ - 如何将 char* 传递给 GetModuleHandle 函数?

转载 作者:行者123 更新时间:2023-11-30 03:49:06 24 4
gpt4 key购买 nike

我只是想根据一个很可能类似于“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;
}

GetModuleHandle 中出现错误argument of type "char *"is incompatible with parameter of type "LPCWSTR"

现在,我尝试了很多步骤,例如:

  1. 转到项目属性 → 配置属性 → 字符集并将其设置为使用多字节字符集 而不是 Unicode。我看到它对其他人有帮助,但对我没有用。

  2. (LPCWSTR)szModule 一样转换 szModule。这使得程序构建成功,但没有按预期运行。

  3. 通过用静态 L"somefile.exe" 替换参数来使用 unicode。这非常有效,但不用说它不是很实用。

我的问题是:如果 szModulechar* 类型,我如何让 GetModuleHandle(szModule) 编译?

如果有任何帮助,我正在使用 Visual Studio 2015。

最佳答案

我不认为让 GetModuleHandle(szModule) 拥有 future 是个好主意。

尝试使用 GetModuleHandleA(szModule) 代替 char *szModule;

关于c++ - 如何将 char* 传递给 GetModuleHandle 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32774200/

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