这是我的代码:
TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");
GetModuleFileNameEx (hProcess, NULL, szProcessName,
sizeof(szProcessName)/sizeof(TCHAR));
我需要路径char*
,而不是路径TCHAR[]
。不转换有可能(WideCharToMultiByte)
吗?
谢谢...
GetModuleFileNameEx 只是一个宏。您可以将 GetModuleFileNameExA 用于 ANSI 版本。它将调用 GetModuleFileNameExW,然后在内部进行所有转换。
但是您应该确保模块文件名不包含 Unicode 字符。
char szProcessName[MAX_PATH] = "<unknown>";
GetModuleFileNameExA(hProcess, NULL, szProcessName, sizeof szProcessName);
请注意,如果您不构建 Unicode 应用程序(即未定义 _UNICODE),则 TCHAR == char