consoleプログラムを実行するときの「黒いコマンドプロモーション画面」を消す方法 | microsearchのブログ

consoleプログラムを実行するときの「黒いコマンドプロモーション画面」を消す方法

consoleプログラムを実行するとき、黒いコマンドプロモーション画面を消す方法と原理を説明する。

consoleプログラムコンパイルしてリンクする時、プロジェクトのリンク設定により、コマンド画面を出すかどうかを判断する。

具体的に:
リンクのconfigureに、「/subsystem」と「/entry」のペアがあります。
subsystemの値:
1)console:
  このタイプのプログラムを実行するとき、DOSと似てる画面が出て来る。プログラムのエントリ関数は、main()またはwmain()となります。

2)windows:
このタイプのプログラムは、コマンド画面なしです。windowsのプログラムである。エントリ関数は、WinMain()またはwWinMain()となります。

3)他の説明をMSDNに参考してください。


consoleプログラム中に、以下の行を追加すれば、プログラムのエントリ関数を変換できる。
① unicodeプログラムの場合:
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"wmainCRTStartup\"" )

② unicodeプログラムではない場合:
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )

効果:コマンド画面をなくなる。