|
TerminateProcess结束一个进程(需进程句柄做参数)
该函数只有两个参数,第一个是进程句柄,第二个填0就行了。
现在给个例子:假设当前有一个进程名为abc.exe的进程正在运行,编一个程序结束它。
#include<windows.h>
#include<tlhelp32.h>//声明快照函数的头文件
int main(int argc,char *argv[])
{
PROCESSENTRY32 pe32;
//在使用这个结构之前,先设置它的大小
pe32.dwSize=sizeof(pe32);
//给系统内的所有进程拍一个快照
HANDLE hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
//遍历进程快照,轮流显示每个进程的信息
BOOL bMore=::Process32First(hProcessSnap,&pe32);
while(bMore)
{
if(strcmp("abc.exe",pe32.szExeFile)==0)//如果找到进程名为abc.exe
{
HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID);//获取句柄
::TerminateProcess(hProcess,0);//结束它
}
bMore=::Process32Next(hProcessSnap,&pe32);//寻找下一个
}
return 0;
}
|
|