CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

在VC中怎样才能结束一个进程

楼主yuecaiqiang(快乐兔子)2005-06-02 20:28:24 在 VC/MFC / 基础类 提问

如题 问题点数:20、回复次数:12Top

1 楼yuecaiqiang(快乐兔子)回复于 2005-06-02 20:34:01 得分 0

请给出相关代码,如:要结束line.exe这个程序Top

2 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-06-02 21:36:01 得分 2

PostMessage(hWnd,WM_CLOSE,0,0);Top

3 楼xyw2278(启明星)回复于 2005-06-02 21:48:15 得分 2

pi   =     CreateProcess     (   ...   "line.exe"   .....)  
  CloseHandle(pi)Top

4 楼hiiiiiijiang(等待毕业)回复于 2005-06-03 07:26:24 得分 2

1,Findwindow  
  2,Postmessage  
   
  呵呵,楼上的,你帮人再开一个,又关了^_^Top

5 楼yuecaiqiang(快乐兔子)回复于 2005-06-03 17:31:17 得分 0

参再详细点吗?Top

6 楼younggle(洋溢)回复于 2005-06-03 17:59:56 得分 5

找到该进程的ID,再把它杀掉。  
   
  DWORD   aProcesses[   1024   ];  
  DWORD   cbNeeded   =   0;  
  EnumProcesses(   aProcesses,   sizeof(   aProcesses   );  
  DWORD   cProcesses   =   cbNeeded   /   sizeof(   DWORD   );  
  for(   DWORD   idx   =   0;   idx   <   cProcesses;   idx++   )  
  {  
              HANDLE   hProcess   =   OpenProcess(   PROCESS_QUERY_INFORMATION   |   PROCESS_VM_READ,  
                                                                          FALSE,   aProcesses[idx]);  
              CString   sName("");  
              if(   NULL   !=   hProcess   )  
              {  
                  HMODULE   hMod;  
                  DWORD   cbNeeded;  
                   
                  if(   EnumProcessModules(   hProcess,   &hMod,   sizeof(   hMod   ),   &cbNeeded   )   )  
                  {  
    DWORD   dw   =   GetModuleBaseName(   hProcess,   hMod,   sName.GetBuffer(   MAX_PATH   ),      
                                                                                  MAX_PATH   );  
                      sName.ReleaseBuffer();  
                  }  
                  if(sName.CompareNoCase("link.exe")   ==   0)  
                  {  
                          TerminateProcess(   hProcess,   0   );  
                    }  
                    CloseHandle(   hProcess   );  
            }  
  }Top

7 楼palmax(用上VS2005了)回复于 2005-06-03 21:50:47 得分 2

WinExec("Taskkill   /fi   \"imagename   eq   line.exe\"   /f",SW_HIDE);Top

8 楼palmax(用上VS2005了)回复于 2005-06-03 21:52:00 得分 2

忘了说一句,上面的方法在xp下是可行的,其他系统没试过Top

9 楼yuecaiqiang(快乐兔子)回复于 2005-06-04 10:41:55 得分 0

palmax(南宫煌):    
        能给出这个:WinExec("Taskkill   /fi   \"imagename   eq   line.exe\"   /f",SW_HIDE);的一段代码吗?  
  Top

10 楼WuOu(天堂*蓝珀湖*仰音*诚彦)回复于 2005-06-04 10:44:36 得分 2

TerminateProcess.Top

11 楼palmax(用上VS2005了)回复于 2005-06-04 15:38:01 得分 2

void   CYourDlg::OnButtonKillProcess()  
  {  
            WinExec("Taskkill   /fi   \"imagename   eq   line.exe\"   /f",SW_HIDE);  
  }  
   
  //  
  有点不明白楼主的意思,taskkill   是   xp   中   结束进程的命令,其中/fi   是筛选器,/f表示强行结束,用sw_hide是不让用户知道你在这么做   :)Top

12 楼ShiGang(Sucess)回复于 2005-06-04 15:59:07 得分 1

真不行的話,來最后一招狠的.  
  TerminateProcessTop

相关问题

  • 怎样才能彻底的结束运行程序的进程
  • 结束进程
  • 如何才能知道 Process.Start()启动的进程已经运行结束?
  • 如何在VC中安全结束子进程
  • 结束进程的问题?
  • 如何结束进程?
  • 如何结束进程
  • 怎样结束进程?
  • 如何结束WORD进程?
  • 怎样结束进程

关键词

  • aprocesses
  • 进程
  • cbneeded
  • 结束
  • postmessage
  • idx
  • dword
  • pi
  • sizeof
  • line

得分解答快速导航

  • 帖主:yuecaiqiang
  • oyljerry
  • xyw2278
  • hiiiiiijiang
  • younggle
  • palmax
  • palmax
  • WuOu
  • palmax
  • ShiGang

相关链接

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

广告也精彩

反馈

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