• ベストアンサー

C言語でWindowsコンソールアプリケーション

C#でしたら、新しいプロジェクト→コンソールアプリケーション→Windowsアプリケーションで黒いDOS画面が出ないただのバッチみたいなプログラムができるのですが。 C言語の場合はどうするのでしょうか。バイナリで「this program cannot be run in dos mode」があってもどうしても一瞬黒いDOS画面が表示されるのです。またこれを専門用語で何と言うのでしょうか。 目的はVBSみたいなファイル処理の単純なバッチファイルを作成するのだけです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

コンソールを表示したくないのであれば,Windowsアプリケーションとしてプロジェクトを作成し, 通常のWindowsアプリケーションと同じく,WinMainをエントリポイントとしてプログラムを作成します。 あとは,CreateWindow(Ex)等のウィンドウを表示するAPIを呼ばずに処理を続けることで, ウィンドウのないプログラムができあがります。 ---- 背景的な話 ---- リンカオプション:/SUBSYSTEM:Windowsの説明にありますが, このオプションは「プログラムがコンソールを必要としない」ことを意味します。 http://msdn.microsoft.com/ja-jp/library/fcc1zstk.aspx さらに,この設定によって/ENTRYリンカオプションが指定されない場合の既定値が変化します。 http://msdn.microsoft.com/ja-jp/library/f9t8842e.aspx

noname#189001
質問者

お礼

>WinMainをエントリポイントとしてプログラムを作成します。 そういうことでしたか、なるほどです。 誠にありがとうございました。

関連するQ&A