私は 2 つのモードで起動できる大規模な C++/MFC アプリケーションを持っています。アイコンを通知 (システム) トレイに移動します。
モード 2 でメイン ウィンドウが表示されないようにするために、次のように WM_WINDOWPOSCHANGING を処理します。
void OnWindowPosChanging(WINDOWPOS* lpwndpos)
{
CDialog::OnWindowPosChanging(lpwndpos);
// TODO: Add your message handler code here
//Prevent main window from showing
lpwndpos->flags &= ~SWP_SHOWWINDOW;
}
この問題は、このメッセージを処理した後、ロジックがコマンド ラインでエラーを判断し、メイン ウィンドウを表示する必要がある場合に発生します。しかし、上記のように WM_WINDOWPOSCHANGING メッセージを処理した後、メイン ウィンドウを表示できないようです。
PS。このプロジェクトは、Visual Studio 2008 用に作成された C++ MFC です。