- 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で終了しない場合は、アプリの終了コードを探すか、強制的に終了させるか。。。