根据进程名称关闭进程:
void CTestDlg::KillProcess(CString m_strProcName)
{
HANDLE handle; //定义CreateToolhelp32Snapshot系统快照句柄
HANDLE ProcessHandle; //定义要结束进程句柄
handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//获得系统快照句柄
PROCESSENTRY32 *info; //定义PROCESSENTRY32结构字指
//PROCESSENTRY32 结构的 dwSize 成员设置成 sizeof(PROCESSENTRY32)
info=new PROCESSENTRY32;
info->dwSize=sizeof(PROCESSENTRY32);
//调用一次 Process32First 函数,从快照中获取进程列表
Process32First(handle,info);
//重复调用 Process32Next,直到函数返回 FALSE 为止
while(Process32Next(handle,info)!=FALSE)
{
info->szExeFile; //指向进程名字
if( info->szExeFile == m_strProcName)
{
ProcessHandle=OpenProcess(PROCESS_TERMINATE,FALSE,info->th32ProcessID);
TerminateProcess(ProcessHandle,0);
}
}
CloseHandle(handle);
}
需要添加
#include <TlHelp32.h>