MFC获得指定进程的ID,路径及终止进程

转载自:http://blog.sina.com.cn/s/blog_a473b7dc0101foir.html

头文件#include"tlhelp32.h"

voidManagerDlg::OnBnClickedOk()

{

DWORD procID=this->GetProcessidFromName(L"qq.exe",LLNPath);

if(procID>0)

{

HANDLE handle=OpenProcess(PROCESS_TERMINATE,FALSE,procID);

BOOL ret=TerminateProcess(handle,4);//这里必须是4,否则无法结束进程

if(ret==0)

{

AfxMessageBox(L"can't Terminate the Specifize Process");

return;

}

}

}


DWORDManagerDlg::GetProcessidFromName(CString processName,CString &processPath)

{

PROCESSENTRY32 pe;

MODULEENTRY32 me;

DWORD id=0;

HANDLE mehandle;

HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

pe.dwSize=sizeof(PROCESSENTRY32);

BOOL ret=Process32First( hSnapshot,&pe);

if(!ret)

return0;

while(1)

{

pe.dwSize=sizeof(PROCESSENTRY32);

if(Process32Next(hSnapshot,&pe)==FALSE)

break;

if(processName.CompareNoCase(pe.szExeFile)==0)

{

id=pe.th32ProcessID;

//获取当前进程所在路径

mehandle=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,id);

me.dwSize=sizeof(MODULEENTRY32);

Module32First(mehandle,&me);

processPath=me.szExePath;

break;

}

}

CloseHandle(hSnapshot);

returnid;


}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值