进程操作

//#include   "tlhelp32.h"   
//	示例:  
 
 
//启动进程
void StartApp(string appPath)
{
	STARTUPINFO si;
	PROCESS_INFORMATION pi;
	ZeroMemory( &pi, sizeof(pi) );
	ZeroMemory( &si, sizeof(si) );
	si.cb = sizeof(si);

	// Start the child process
	if(CreateProcess(appPath.c_str(), "", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
	{
		CloseHandle( pi.hProcess );
		CloseHandle( pi.hThread );
	}
	else
	{
		cout<< "启动失败"<< endl;
	}
}
 
 
//查找相关进程,并关闭
void ShutdownApp(string appName)
{

	HANDLE   hProcessSnap=NULL;   
	PROCESSENTRY32   pe32={0};   
	hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);   
	if(hProcessSnap==(HANDLE)-1)   
	{   
		cout<< "查询进程失败"<< endl;
		//::MessageBox(NULL,"查询进程失败!:(","错误提示",MB_OK);   

	}   
	pe32.dwSize=sizeof(PROCESSENTRY32);   
	if(Process32First(hProcessSnap,&pe32))   
	{   
		do   
		{   
			if(!lstrcmpi(pe32.szExeFile, appName.c_str()))//取进程模块名与你的应用程序名比较   
			{   
				//检测到相同,然后进行你的处理。
				cout<< "you zai yunxing"<< endl;
				HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,TRUE,pe32.th32ProcessID);   
				TerminateProcess(hProcess, 0);//关闭进程
			} 
		}   
		while(Process32Next(hProcessSnap,&pe32));   
	}   
	else   
	{   
		cout<< "查询进程出现意外错误"<< endl;
		//::MessageBox(NULL,"出现意外错误!","错误提示",MB_OK);   
	}   
	CloseHandle(hProcessSnap);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值