C++通过进程名获取进程句柄

    xiaoxiao2021-03-25  154

    记录下一段,比较常用的代码。

    #include <TlHelp32.h> //通过进程ID获取进程句柄 //PROCESS_ALL_ACCESS 获取所有权限 //PROCESS_QUERY_INFORMATION 获取进程的令牌、退出码和优先级等信息 HANDLE GetProcessHandle(int nID) { return OpenProcess(PROCESS_ALL_ACCESS, FALSE, nID); } //通过进程名(带后缀.exe)获取进程句柄 HANDLE GetProcessHandle(LPCWSTR lpName) { HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (INVALID_HANDLE_VALUE == hSnapshot) { return NULL; } PROCESSENTRY32 pe = { sizeof(pe) }; BOOL fOk; for (fOk = Process32First(hSnapshot, &pe); fOk; fOk = Process32Next(hSnapshot, &pe)) { if (!_tcsicmp(pe.szExeFile, lpName)) // 不区分大小写 { CloseHandle(hSnapshot); return GetProcessHandle(pe.th32ProcessID); } } return NULL; }

     

    转载请注明原文地址: https://ju.6miu.com/read-8987.html

    最新回复(0)