取进程PID的方法

时间:2021-02-04 11:40:51   收藏:0   阅读:0

通过窗口句柄获取进程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;
}

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!