取进程PID的方法

通过窗口句柄获取进程PID

GetWindowThreadProcessId(hwnd, &Pid);

使用GetWindowThreadProcessId函数

 

通过进程名取进程PID

DWORD GetProcessIDByName(LPCWSTR szName)
{
    DWORD id = 0;       // 进程ID
    PROCESSENTRY32 pe;  // 进程信息
    pe.dwSize = sizeof(PROCESSENTRY32);
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); // 获取系统进程列表
    if (Process32First(hSnapshot, &pe))      // 返回系统中第一个进程的信息
    {
        do
        {
            if (0 == _wcsicmp(pe.szExeFile, szName)) // 不区分大小写比较
            {
                id = pe.th32ProcessID;
                break;
            }
        } while (Process32Next(hSnapshot, &pe));      // 下一个进程
    }
    CloseHandle(hSnapshot);     // 删除快照
    return id;
}

 

posted @ 2021-02-03 10:17  任一z  阅读(664)  评论(0)    收藏  举报