WinMain

Windowsアプリケーションのエントリポイントは、WinMain・・・。

WinMainの定義は、
WinMain 関数
にある・・・。

ここでは、MessageBoxを使って、"WinMain"と表示する簡単なサンプルを作る・・・。
最初なんで丁寧に・・・。

VisualStudioで、[ファイル]-[新規作成]-[プロジェクト]でプロジェクトを作る・・・。
f:id:BG1:20141213210104j:plain

テンプレートは、[Win32プロジェクト]、
f:id:BG1:20141213210724j:plain
プロジェクト名はWinMainにしておく・・・。

今回は空のプロジェクトから作るので、
f:id:BG1:20141213211250j:plain
アプリケーションの設定で、[空のプロジェクト]にチェックを入れる・・。

プロジェクトできたら、[ソリューションエクスプローラ]の[WinMain]で右クリックして、
[追加]-[新しい項目]で、
f:id:BG1:20141213211911j:plain

[C++ ファイル]を選択する・・・。
f:id:BG1:20141213212228j:plain
ファイル名は、WinMain.cppとしておこうか・・・。

追加されたら、
f:id:BG1:20141213212812j:plain
[プロジェクト]-[WinMainのプロパティ]で、

[文字セット]を[Unicode文字セットを使用する]から、
f:id:BG1:20141213213340j:plain
[マルチバイト文字セットを使用する]に変更・・・。
ワケあってマルチバイトでやるので・・・。

あとは、追加されたWinMain.cppにコードを書いていく・・・。
まずはwindows.hをインクルード・・・。

標準的なAPIは、大抵これだけで済む・・・。

次にWinMainの定義・・・。

引数でよく使うのはhInstanceぐらいかな・・・。ここでは使わないけど・・・。

MessageBoxを呼ぶ・・・。

最初の引数はNULLでいい・・・。
2番目に表示するメッセージ文字列(ここでは"WinMain")、
3番目にメッセージボックスのタイトル(ここも"WinMain")、
最後にMB_OKを指定する(OKボタン)・・・。

でこれで終了・・・。

あとは、これを[デバッグ]-[デバッグ開始]などで実行すると、

f:id:BG1:20141213215422p:plain

とメッセージボックスが表示される・・・。

こんな感じでWinMainの中に処理を書くことで、Windowsで動くプログラムができる・・・。

Sample/WinMain.cpp at master · bg1bgst333/Sample · GitHub