C++ (Windows XP、Visual C++ 2008) で GUI インターフェイスを作成しました。ここでいくつかのパラメータを設定できます。[OK] ボタンをクリックすると、サイレント アプリケーションが起動されます (設定された値が使用されます)。これを行うと、他のウィンドウに切り替えるとGUIがフリーズして消えます(まだそこにありますが、空白しか見えません)。他のアプリケーションが終了すると、GUIが再び機能します。
これは正しい動作です。ユーザーがフィールドを編集できるようにしたくありませんが、GUI が表示されない場合は少し見苦しくなります。他のウィンドウに切り替えて、元に戻したときに GUI を表示できる簡単な方法を知っている人はいますか?
前もって感謝します
編集:
こんにちは、これをやってみましたが、問題はアプリをバックグラウンドで実行するために、CreateProcess を使用する関数があったことです。つまり、プロセスを作成するスレッドを作成する場合と、プロセスを直接作成する場合の両方で、GUI がフリーズします。
次に、プロセスが完了するのを待ちます。
if (!CreateProcess( NULL, Args, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &StartupInfo, &ProcessInfo)) { return GetLastError();
} WaitForSingleObject(ProcessInfo.hProcess, INFINITE); if(!GetExitCodeProcess(ProcessInfo.hProcess, &rc)) rc = 0;
何か案が?