'HMODULE GetModuleHandleW(LPCWSTR)': cannot convert argument 1 from 'const char *' to 'LPCWSTR'
我对C ++还是很陌生,但是遇到了一个我无法解决的问题,这是我的错误消息:
'HMODULE GetModuleHandleW(LPCWSTR)': cannot convert argument 1 from 'const char *' to 'LPCWSTR'
这是引发错误的行:
1
| ModuleHandle = (DWORD)GetModuleHandle(moduleName.c_str()); |
-
您发送的值无效
-
使用std::wstring moduleName = L"foo";
-
您期望程序为ASCII,但项目设置为UNICODE。 如果您将项目更改为不使用UNICODE,则您编写的内容将起作用。
您正在将char *传递给需要wchar_t *的对象。 您必须将字符串类型转换为wchar_t *,例如,使用MultiByteToWideChar函数(https://msdn.microsoft.com/zh-cn/library/windows/desktop/dd319072%28v=vs.85%29。 aspx),也可以通过调用GetModuleHandleA()而不是GetModuleHandleW()使用GetModuleHandle的非宽版本。