如何通过窗口句柄获取程序的执行程序路径
时间: 2023-12-28 09:04:55 浏览: 97
窗口控件 获取:窗口句柄,窗口类名,窗口标题,进程ID,窗口ID,程序路径
3星 · 编辑精心推荐
可以通过以下步骤获取程序的执行程序路径:
1. 使用 Windows API 函数 `GetWindowThreadProcessId` 获取指定窗口的进程 ID。
2. 使用进程 ID,再次调用 Windows API 函数 `OpenProcess` 获取指定进程的句柄。
3. 使用进程句柄,调用 Windows API 函数 `GetModuleFileNameEx` 获取执行程序的路径。
具体的实现可以参考以下伪代码:
```
HWND hwnd = /* 窗口句柄 */;
DWORD pid;
GetWindowThreadProcessId(hwnd, &pid);
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, pid);
if (hProcess != NULL) {
TCHAR szExePath[MAX_PATH];
if (GetModuleFileNameEx(hProcess, NULL, szExePath, MAX_PATH) > 0) {
/* szExePath 就是执行程序的路径 */
}
CloseHandle(hProcess);
}
```
阅读全文