これはまったく別の「私のGUIアプリケーションにコンソールが必要です」というものではありません。私の状況はそれとは異なります。コンソールから起動したGUIアプリケーションは=>コンソールに印刷できませんか?
私はコマンドラインから実行されるWindows GUIアプリケーションを持っています。このアプリケーションに間違ったパラメータを渡すと、は表示されません。可能なスイッチを示すポップアップが表示されますが、私のプロセスを起動したコンソールに表示します。
私はコンソールに(親プロセスのAttachConsole(...)を呼び出す)ことができますが、問題は私のアプリケーションが "ブロッキング"ではないということです。私が起動するとすぐに、コマンドプロンプトが戻り、すべての出力がこのウィンドウに書き込まれます(図は添付の画像を参照)。
アプリが終了した後、私は、少し周りを演奏コンソールアプリケーションを作成し、それを実行して、そちらを参照してください、それは「ブロック」、プロンプトのみ再表示されます。 GUIツールを/ SUBSYSTEMに切り替えると、コンソールで奇妙なエラーが発生する(MSVCRTD.lib(crtexe.obj):エラーLNK2019:関数 "___tmainCRTStartup"内の未解決の外部シンボル "_main")
私は、 MSDEVからの ".exe"と ".com"ファイルアプローチですが、それは恐ろしいことです。これを解決する方法はありますか?
コンソールサブシステムへの変更は正しい方法と言えます。あなたは主な宣言をコンソールアプリケーションと一貫して変更する必要があります。そのAFAIKを除いて、コマンドラインは単にそれを起動しているのでWinMainを使ってブロックすることはできません。 –
コンソールサブシステムに切り替えると、その他の副作用があります。コンソールウィンドウの代わりにショートカットから起動すると、ショートカットが正しいパラメータを提供したとしても、新しいコンソールが作成されます。 – Jon