GetModuleFileNameEx - 是否可以在char*中获取路径而不在TCHAR []中获取路径?

use*_*586 0 c++ winapi ascii

这是我的代码:

TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");
GetModuleFileNameEx (hProcess, NULL, szProcessName, 
                     sizeof(szProcessName)/sizeof(TCHAR));
Run Code Online (Sandbox Code Playgroud)

我需要路径char*,而不是TCHAR[].如果没有转换,它是否可能(WideCharToMultiByte)

谢谢...

Kir*_*sky 6

GetModuleFileNameEx只是一个宏.您可以将GetModuleFileNameExA用于ANSI版本.它将调用GetModuleFileNameExW,然后在内部进行所有转换.

但是您应该确保模块文件名不包含Unicode字符.

char szProcessName[MAX_PATH] = "<unknown>";
GetModuleFileNameExA(hProcess, NULL, szProcessName, sizeof szProcessName);
Run Code Online (Sandbox Code Playgroud)