根据进程名查找进程PID

#include <iostream>
using namespace std;
//#include <Windows.h>
#include <afx.h>
#include"tlhelp32.h"


DWORD CheckModule(char* ProcessName)
{//传入的参数是要搜索的进程名
	HANDLE hSnapshot;
	PROCESSENTRY32 lppe;
	BOOL Find;
	BOOL Found;
	hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//创建进程快照
	lppe.dwSize=sizeof(PROCESSENTRY32);
	Found=Process32First(hSnapshot,&lppe);//得到第一个进程
	while(Found)//进程不是空
	{
		if(strcmpi(ProcessName,lppe.szExeFile)==0)//进程名比较
			return lppe.th32ProcessID;//一样即反回进程ID
		Found = Process32Next(hSnapshot,&lppe);//得到下一个进程
	}
	CloseHandle(hSnapshot);

	return NULL;

}

int main()
{
	DWORD thesignal = CheckModule("vlc.exe");
	if (thesignal == 0)
	{
		int thesignal = MessageBox(NULL, "进行了误操作,是否退出?", "警告", MB_YESNO);
		if (thesignal == IDNO)
		{
			return 0;
		}
		else if (thesignal == IDYES)
		{
			exit(0);
		}
	}
	cout<<"获取进程pid"<<endl;
	return 0;
}


PROCESSENTRY32 结构体需包夹这个头文件#include"tlhelp32.h"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值