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