タイトルバーの文字から検索して、アプリケーションを終了する

  • デル株式会社
  • アプリケーションのタイトルバーから検索して、アプリケーションを終了する。
    例によって、自己責任で。

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

    関連記事

    ページ上部へ戻る