参数是要杀死的窗口名称
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