2016-09-21 12 views
0

前提:私はWindowsプログラミングにとって非常に新しいです。Windowsで自動起動コンソールが実行されないようにするにはどうすればよいですか?

私がコンパイルしたすべての小さなプログラムは、実行の瞬間(GUIからダブルクリックすると)に自動的にコンソールが開き、std出力を促します。ここで

は、コンソールがあるプログラムによって作成されたウィンドウの後ろに、見ることができるようにthis example

enter image description here

の実行を示すスクリーンショットです。

なぜこのようなことが起こり、防止するのですか?

+0

コンソールモードプロジェクトを作成しました。どのエントリポイントがmain()で、WinMain()ではありません。開始するには、適切なプロジェクトテンプレートで成功のピットに落ちる、 "Win32プロジェクト"を使用します。あなたがやっていることをすでに行っている自動生成されたコードをいくつか手に入れます。自分で書きたいのであれば削除してください。 –

答えて

2

Windowsプログラムには、Windowsまたはコンソールという2つのサブシステムがあります。コンソールプログラムを起動すると、コンソールが自動的に作成されます(まだ存在しない場合)。コンソールはデフォルトであるため、プログラムをビルドするときに適切なリンカーオプション/SUBSYSTEM:WINDOWSを設定する必要があります。

2つのサブシステムには基本的な違いはありません。 Windowsプログラムはコンソールを作成し、コンソールプログラムはウィンドウを作成することができるので、ウィンドウとコンソールの両方で終了します。

さらに多くのサブシステムがありますが、あなたの質問には関係ありません。詳細についてはhttps://msdn.microsoft.com/en-us/library/fcc1zstk.aspxを参照してください(Visual Studioのリンカオプションの設定に関する情報も含まれます)

関連する問題