- 2013-10-24
- Visual C++
アプリケーションのタイトルバーから検索して、アプリケーションを終了する。
例によって、自己責任で。
// ヘッダー部
static UINT AppClose(LPVOID lParam);
// ソース一部
void CAppCloseDlg::OnBnClickedOk()
{
// 監視スレッド起動
AfxBeginThread( &CAppCloseDlg::AppClose, this );
}
UINT CAppCloseDlg::AppClose( LPVOID lParam )
{
CAppCloseDlg* pApp = static_cast<CAppCloseDlg*>(lParam);
while( TRUE )
{
HWND hCaptureTool = ::FindWindowEx( ::GetDesktopWindow(), 0, NULL, _T("Snipping Tool" ) );
if( hCaptureTool == NULL )
{
// ちょっと待つ
Sleep( 200 );
continue;
}
// 終了を通知
::PostMessage( hCaptureTool, WM_CLOSE, 0, 0 );
::MessageBox( pApp->m_hWnd,_T("終了しました。"), _T("AppClose"),MB_OK | MB_TOPMOST );
return 0;
}
return 0;
}
WM_CLOSEで終了しない場合は、アプリの終了コードを探すか、強制的に終了させるか。。。








