查找进程可以使用:CreateToolhelp32Snapshot和Process32First、Process32Next来遍历所有的进程,通过对比每一个进程的名字,就能得到自己想要的进程ID,有了进程ID,再使用OpenProcess打开对应进程ID的进程,然后使用CloseHandle函数关闭进程。
简单的查找步骤:
添加头文件
#include <tlhelp32.h>
//查找到进程,例如查找QQ
HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
PROCESSENTRY32 pe32;
pe32.dwSize=sizeof(PROCESSENTRY32);
BOOL bResult=Process32First(hSnapshot,&pe32);
while(bResult)
{
CString str=pe32.szExeFile;
if(str=="QQ.exe")
{
AfxMessageBox("查找到QQ");
break;
}
else
{
bResult=Process32Next(hSnapshot,&pe32);
}
}
CloseHandle(hSnapshot);
//利用查找到的进程ID,打开进程:
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID);
//关闭进程
BOOL bRet = TerminateProcess(hProcess,0);