C++代码不读proc获取其他应用的pid
时间: 2023-12-03 19:47:49 浏览: 98
在 C++ 中,可以使用 Windows API 来获取其他应用程序的 PID。以下是一个示例代码,它使用了 Windows API 中的 `FindWindow` 和 `GetWindowThreadProcessId` 函数来获取指定窗口对应的应用程序的 PID。
```cpp
#include <Windows.h>
#include <iostream>
int main()
{
HWND hwnd = FindWindow(nullptr, "Window Title"); // 替换成你要获取 PID 的窗口标题
if (hwnd == NULL)
{
std::cout << "Window not found\n";
return 0;
}
DWORD pid = 0;
DWORD tid = GetWindowThreadProcessId(hwnd, &pid);
if (pid == 0)
{
std::cout << "Failed to get process id\n";
return 0;
}
std::cout << "PID: " << pid << std::endl;
return 0;
}
```
该代码首先调用 `FindWindow` 函数来获取指定窗口的句柄,如果找不到窗口,则输出错误信息并退出程序。如果找到了窗口,则调用 `GetWindowThreadProcessId` 函数来获取该窗口对应的线程 ID 和进程 ID。如果成功获取了进程 ID,则输出该进程的 PID。
阅读全文