C++`进程快照 取进程PID
#include <iostream>
#include <Windows.h>
#include <TlHelp32.h>
using namespace std;
#define GAME_NAME "PlantsVsZombies.exe" //植物僵尸嘿嘿
//C++ 各种类型的定义非常麻烦 本就初学小白的我 弄到抓狂 显示
//!!!!!!重要提升新手在用2022vs 项目--属性--(或者 alt+F7) 属性配置 --高级--高级属性--字符集--一点要改成多字节字符集!!!!否则麻烦多多!!!
int GetProcessHandle()
{
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (INVALID_HANDLE_VALUE == hSnapshot)
{
return NULL;
}
PROCESSENTRY32 pe = { 0 };
pe.dwSize = sizeof(pe);
for (BOOL fOk = Process32First(hSnapshot, &pe); fOk; fOk = Process32Next(hSnapshot, &pe))
{
// pe.szExeFile //返回进程名
//pe.th32ProcessID//返回进程ID
if (strcmp(pe.szExeFile, GAME_NAME) == 0)//对比字符
{ //关闭句柄
CloseHandle(hSnapshot);
return pe.th32ProcessID;
}
}
//关闭句柄
CloseHandle(hSnapshot);
return NULL;
}
int main()
{
int PID = GetProcessHandle();
printf("进程PID { %d } \n", PID);
return 0;
}


版权声明:本文为wangyunhe5120原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。