您的位置:首页 > 其它

删除指定进程

2007-08-02 18:48 337 查看

#include <tlhelp32.h>




BOOL CXXXX::KillProcess(LPCTSTR lp)




...{


HANDLE SnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);


if(SnapShot == NULL)




...{


// MessageBox("检测当前进程失败!");


return FALSE;


}


SHFILEINFO shSmall;




CString str,prcnum;


PROCESSENTRY32 ProcessInfo;//声明进程信息变量


ProcessInfo.dwSize = sizeof(ProcessInfo);//设置ProcessInfo的大小


//返回系统中第一个进程的信息


BOOL Status = Process32First(SnapShot,&ProcessInfo);


int m_nProcess = 0,num = 0;


while(Status)




...{


m_nProcess++;


num++;


//ZeroMemory(&shSmall,sizeof(shSmall));


//获取进程文件信息


SHGetFileInfo(ProcessInfo.szExeFile,0,&shSmall,sizeof(shSmall),


SHGFI_ICON|SHGFI_SMALLICON);


CString strtmp = ProcessInfo.szExeFile;


//删除指定进程


if (strtmp == lp)




...{


HANDLE hProcess = OpenProcess( PROCESS_ALL_ACCESS, FALSE,ProcessInfo.th32ProcessID);


if(::TerminateProcess(hProcess,1))




...{


//成功杀死进程


return TRUE;


}


}


Status=Process32Next(SnapShot,&ProcessInfo);


}


return FALSE;


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: