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\"" )
効果:コマンド画面をなくなる。
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\"" )
効果:コマンド画面をなくなる。