我想每一秒搜索进程里是不是有特定的进程,有就关闭,出了点问题,请教各位

winterain 2004-05-02 07:30:08
代码如下:
一个Dialog based 程序
以记事本为例:

UINT findAndShutDown(LPVOID param)
{
while(1)
{
HANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
PROCESSENTRY32* info=new PROCESSENTRY32;
info->dwSize=sizeof(PROCESSENTRY32);
if(::Process32First(handle,info))
{
if(GetLastError()==ERROR_NO_MORE_FILES )
{
continue;
}
else
{
CString id;
id.Format("%s",info->szExeFile);
if(id.CompareNoCase("notepad.exe")==0)
{
HANDLE h=OpenProcess(PROCESS_ALL_ACCESS,TRUE,info->th32ProcessID);
if(h!=NULL)
{
TerminateProcess(h,0);
}
}
while(Process32Next(handle,info)!=FALSE)
{
id.Empty();
id.Format("%s",info->szExeFile);
if(id.CompareNoCase("notepad.exe")==0)
{
HANDLE h=OpenProcess(PROCESS_ALL_ACCESS,TRUE,info->th32ProcessID);
if(h!=NULL)
{
TerminateProcess(h,0);
}
}
}
}

}
::CloseHandle(handle);
delete info;
::Sleep(3000);
}
}
然后在OnInitDialog里加入
::AfxBGeginThread(findAndShutDown,0);
如果先打开记事本的,再打开我的程序可以关闭,但是如果先打开我的程序,再打开记事本,却关不掉,而且电脑的速度也很慢,请教各位。。。。。
...全文
37 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧