【发布时间】:2020-08-30 03:52:45
【问题描述】:
#include <iostream>
#include <windows.h>
#include <psapi.h>
#include <tlhelp32.h>
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, 7632);
wchar_t lpFilename[1024];
GetModuleFileNameExW(hProcess, NULL, lpFilename, sizeof(lpFilename));
qDebug() << QString::fromWCharArray(lpFilename);
CloseHandle(hProcess);
以上代码在vs2019中运行正常,但是我在qt中使用错误,出现这个错误:
error: undefined reference to `GetModuleFileNameExA'
error: ld returned 1 exit status
【问题讨论】:
-
查看remarks 获取
GetModuleFileNameExA,特别是关于PSAPI_VERSION的部分以及要链接的.lib。 -
您不需要
PROCESS_ALL_ACCESS(如documented)。但是您确实需要调用 Unicode API。除非您对有时不会失败的实现感到满意。