vc 关闭外部应用程序

参数是要杀死的窗口名称  
  BOOL   FindProcessHandleAndKill(const   CString   &cs_WndName)  
  {  
  HWND   hWnd;  
  DWORD   ProcessID;  
  HANDLE   hProcess;  
   
  hWnd=::FindWindow(NULL,   cs_WndName);  
  if(hWnd==NULL)//テサモミユメオスエーソレ  
  {  
  return   FALSE;  
  }  
  else  
  {  
  if(GetWindowThreadProcessId(hWnd,   &ProcessID)==0)//ハァーワ  
  {  
  return   FALSE;  
  }  
  else  
  {  
  hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,ProcessID);  
  if(hProcess==NULL)  
  {  
  return   FALSE;  
  }  
  else  
  {  
  if(TerminateProcess(hProcess,   0))  
  {  
  return   TRUE;  
  }  
  else    
  {  
  return   FALSE;  
  }  
  }  
  }  
  }  
   
  }

如何获取窗口句柄(VC)
自身窗口句柄可用AfxGetMainWnd获取。
系统中其他APP的窗口句柄可用FindWindow获取(用SPY帮一下忙).
AfxGetMainWnd获取自身窗口句柄。
可用FindWindow获取系统中其他窗口句柄.
HWND hWnd = AfxGetMainWnd()->m_hWnd;
HWND hWnd =::FindWindow(NULL,"XXXXXX");
如:
HWND hBtnClose;
HWND hWnd=::FindWindow(NULL,"腾讯QQ系统广播");
if(hWnd)
{
hBtnClose=GetDlgItem(hWnd,2);
if(hBtnClose)
PostMessage(hBtnClose,BM_CLICK,NULL,NULL);
}


比如查看 Internet选项 窗口是否正打开着:
hwndParent=::FindWindow("#32770","Internet属性");//(for winme)
hwndParent=::FindWindow("#32770","Internet选项");//(for winXP


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/movayhust/archive/2009/08/07/4421704.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值