CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

如何强制杀死别的应用程序,就像在任务管理器里关闭进程一样

楼主yaoha2003(爱老婆更爱键盘!)2004-05-02 19:51:37 在 VC/MFC / 进程/线程/DLL 提问

高手快快来帮忙,我弄了好久都没弄出来 。。。。。。 问题点数:100、回复次数:10Top

1 楼xubin_sh(NBX)回复于 2004-05-02 20:07:26 得分 50

借前面一个贴子的代码  
  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);  
          }  
  }  
  Top

2 楼rivershan(阿门)回复于 2004-05-03 10:38:05 得分 15

TerminateProcess  
  Top

3 楼GameWeaverDummy(小白菜)回复于 2004-05-03 11:05:26 得分 0

帮你顶Top

4 楼fbmsf(FBM)回复于 2004-05-03 13:34:09 得分 0

留个email   ,我给你代码。Top

5 楼kugou123(酷狗)(彪悍的人生,不需要解释 www.xiaozhou.net)回复于 2004-05-03 15:05:05 得分 15

调整自己进程的权限为DEBUG权限,然后调用TerminateProcess函数,终止目标进程。Top

6 楼rabo(不哭死人)回复于 2004-05-04 23:28:12 得分 0

rabolee@163.com  
  偶也要代码,大爷Top

7 楼bragg(bragg)回复于 2004-05-08 10:22:19 得分 0

//结束进程  
  /*  
  DWORD   m_dwExitCode;  
  ::GetExitCodeProcess(m_handle,&m_dwExitCode);  
  ::ExitProcess(m_dwExitCode);  
  */ Top

8 楼PiggyXP(【小猪】技术太差没脸上班,只好去念Ph.D了-_-b)回复于 2004-05-08 11:04:35 得分 20

HANDLE   ProcessHandle;  
  ProcessHandle=OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwProcessID);       //   dwProcessID:   进程ID  
  //kill   certain   process  
  if(TerminateProcess(ProcessHandle,0))  
  {  
  strInfo.Format(_T("Succeed!"));  
  }  
  else  
  {  
  strInfo.Format(_T("Failed!"));  
  }Top

9 楼lrmao1(琴声常伴读书人)回复于 2004-05-08 11:58:47 得分 0

maolirong001@sina.com.cn  
  偶也要代码,大爷  
  Top

10 楼athena301()回复于 2004-09-24 18:32:03 得分 0

baoliu   .Top

相关问题

  • 应用程序的进程能在任务管理器中不显示吗?
  • 如何将windows人物管理器进程栏中的vb应用程序进程用户名改成'SYSTEM'?
  • 请问如何从任务管理器的应用程序列表中获知该应用程序属于哪个进程
  • 如何在WINXP的任务管理器中隐藏一个应用程序的进程
  • 如何让应用程序的进程在进程管理器中被结束的时候,警告“本进程不能被结束”???
  • 怎样将一个运行的程序,从CRT+ALT+DEL弹出的任务管理器的应用程序列表中删除,只显示在进程中!
  • 如何让你的程序在WINDOWS任务管理器中只在"进程"中显示,而不在"应用程序"中显示?
  • 如何在"任务管理器"的"应用程序"页面里面把自己的程序隐藏起来?(不需要"隐藏进程")
  • xp的任务管理器打开之后,没有上面的“应用程序”进程“性能”等这些选项及上面的菜单!
  • 为什么FindWindow找不到已知标题栏的窗口,此窗口在任务管理器的应用程序里看不到,但在进程里有程序名。好像此窗口是应用程序起的一个对

关键词

  • 代码
  • access
  • 进程
  • terminateprocess
  • dwexitcode
  • processentry
  • processhandle
  • openprocess
  • handle
  • info

得分解答快速导航

  • 帖主:yaoha2003
  • xubin_sh
  • rivershan
  • kugou123
  • PiggyXP

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo