我正在尝试从完整文件路径中检索可执行文件的名称,如下所示:
//includes...
int pid = 1234;
HANDLE hProcess;
TCHAR proccessName[2048] = {};
//Get handle
hProcess = OpenProcess(PROCESS_VM_READ | PROCESS_QUERY_INFORMATION,
false, pid);
//Get filepath (e.g.: \Device\Harddisk\Users\Example\TheAppName.exe)
GetProcessImageFileName(hProcess, processName, sizeof(processName));
//Print just the .exe name (e.g.: Success, name is: TheAppName.exe)
std::wcout << "Success, name is: " << std::wcsstr(processName, L"\\");
问题是输出仍然像
成功,名称为:\ Device \ Harddisk \ Users \ Example \ TheAppName.exe
所以std::wcsstr
的行为并不像我期望的那样,但在阅读完文档后,我仍然不确定这里有什么问题。
输出不应该是:
成功,名称是:TheAppName.exe
亲切的问候。