如果关闭一个系统的一个进程,有时候我们看到一个软件很烦,老是运行.那么我们怎么通过代码,将它关闭呢.
可以分开两个步骤:
1.打开系统进程管理器,查找相应的进程
重点操作进程管理器的函数,我就例出这些函数的原型给大家
HANDLE WINAPI CreateToolhelp32Snapshot(
DWORD dwFlags,
DWORD th32ProcessID
);//打开进程管理器
BOOL WINAPI Process32First(
HANDLE hSnapshot,
LPPROCESSENTRY32 lppe
);读取第一个进程信息
BOOL WINAPI Process32Next(
HANDLE hSnapshot,
LPPROCESSENTRY32 lppe
);读取下一个进程信息
DWORD FindAppProcessID(LPCTSTR lpszName)
{
//打开系统的进程管理器
HANDLE handle=::CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
PROCESSENTRY32 Info;
Info.dwSize = sizeof(PROCESSENTRY32);
//通过循环来读取列表, PROCESSENTRY32是进程的信息,通过以下两个函数,我们可以获取过来,与给定的"字符串(进程名)"比较,找到了,就返回进程ID
if(::Process32First(handle,&Info))
{
do{
CString ss=Info.szExeFile;
if(!ss.CompareNoCase(lpszName))//这里是进程名称
{
::CloseHandle(handle);
return Info.th32ProcessID;
}
}
while(::Process32Next(handle,&Info));
::CloseHandle(handle);
}
return -1;
}
2.通过获取的进程ID进行关闭
//以下两个API函数,是常用到的,我就不详说了,获取进程句柄,关闭进程
HANDLE ProcessHandle=OpenProcess(PROCESS_ALL_ACCESS,FALSE,id);
if(ProcessHandle)TerminateProcess(ProcessHandle,0);
下载附件
文章评论
共有 0位网友发表了评论 我来说两句