1

私の質問はこれの複製ではありません実際には同じ質問の拡張です。これはエラーが発生したコードスニペットです。

BOOL CMyApp::InitInstance() {
   m_pMainWnd = new CMainWindow;
   m_pMainWnd->ShowWindow(SW_NORMAL);
   m_pMainWnd->UpdateWindow();
   return TRUE;
}

そのため、エラーなしで実行されるプログラムを使用m_pMainWnd->ShowWindow(SW_NORMAL);すると、ウィンドウが通常のサイズで開き、出力が表示されますがm_pMainWnd->ShowWindow(SW_MAX);、プログラムがエラーなしで実行された後でも出力ウィンドウが表示されず、再構築しようとすると、 VC は次のエラーをスローします。

リンク: 致命的なエラー LNK1104: .exe を開けません

この質問のいくつかの回答もフォローしました。この質問の最初の回答は示唆しています

出力を閉じていない可能性があります。出力を閉じ、ファイルを消去して再構築します。これで、ファイルを実行できる可能性があります。

これは非常に正しいですが、出力プロセスを終了するには、コンピューターからログオフして再度ログインする必要があります。開いているアプリケーションウィンドウが見つからないか、プログラムが表示されないため、これを行う必要があります「タスクマネージャー」のアプリケーションのタブで実行されています。私は言う2番目の答えにも従いました

アプリケーション エクスペリエンスを手動スタートアップに設定する必要があります (Windows 7 のスタート メニューでサービスを検索し、アプリケーション エクスペリエンスを見つけてプロパティをクリックすることで実行できます)。

私がそこに着いたときを除いて、アプリケーションはすでに手動起動に設定されており、問題はまだ解決していません。私が知りたい解決策に加えて、私が書いたときにプログラムが出力を表示しないのはなぜですかm_pMainWnd->ShowWindow(SW_MAX);

VC++ 6.0 を使用しており、OS は Windows-7 Professional 32 ビットです。

4

2 に答える 2

3

SW_MAXSW_FORCEMINIMIZEドキュメントに記載されているのと同じです

ウィンドウを所有するスレッドが応答していない場合でも、ウィンドウを最小化します。このフラグは、別のスレッドからウィンドウを最小化する場合にのみ使用してください。

実際、ウィンドウを最小化しても、アプリケーションはタスクバーで実行されます。Win7マシンで確認しました。

ウィンドウを最大化した状態で表示することが目的の場合は、 SW_SHOWMAXIMIZED代わりに使用してください。

于 2012-07-24T06:46:17.157 に答える
0

変更により、VC++ 6.0 デバッガーは Windows 7 で正しく動作しません。
デバッガーからプロセスを強制終了しようとすると、プロセスが正しく終了せず、スタックします。

詳細については、次のトピックを参照してください。

Windows 7 x64 で Visual C++ 6 を使用してデバッグするには?

于 2012-07-25T02:33:36.120 に答える