文章详情
C++通过进程名称获取进程pid
Posted on 2024-09-03 21:18:42 by 主打一个C++
#include <windows.h>
#include <tlhelp32.h>
ULONG ProcessNameGetPid(CONST PWCHAR processName)
{
PROCESSENTRY32 pe;
//快照进程
HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
if (hProcess == INVALID_HANDLE_VALUE)
{
return 0;
}
//初始化结构大小
pe.dwSize = sizeof(PROCESSENTRY32);
BOOL dRet = Process32First(hProcess, &pe);
while (dRet != NULL)
{
//判断是否是查找的进程名称
if (!lstrcmp(processName, pe.szExeFile))
{
pe.th32ProcessID;
CloseHandle(hProcess);
//关闭快照后返回进程pid
return (ULONG)pe.th32ProcessID;
}
//继续查找下一个进程
dRet = Process32Next(hProcess, &pe);
}
CloseHandle(hProcess);
return 0;
}
//使用:
int main(){
printf("进程Pid: %d\n",ProcessNameGetPid(L"测试进程.exe"));
}
*转载请注明出处:原文链接:https://cpp.vin/page/22.html