言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

Windows プログラミング入門

これも未来の自分用メモです。Windows プログラムの勉強の仕方について突然書きます。Windows では、全てのプログラムが Win32 API という C の関数群を使っています。という事は Win32 API を正しく使えばどんな Windows アプリでも書けるという事であり、逆に間違って使うと、意味無く重いプログラムや変なプログラムが出来上がってしまいます。

『猫でもわかる Windows プログラミング』isbn:4707328487 はお勧めです。これを読む前は Windows はさっぱり苦手でしたが、読んでなんとなく分かった感じがありました。

Windows プログラミングを学ぶ最速の方法は、多分フリーの C コンパイラコンパイル出来る完全な Windows プログラムを書くことです。例えば cygwinコンパイルする事によって、リソースなど、Windows 独自の要素をどう扱うかが判ってきます。とはいえ、Win32 にはお約束が沢山あって、ゼロからエディタで書くのも大変なので、私はこうしました。

  • VisualC++ でとりあえず動くものを作る。
  • cygwin で同じソースをコンパイルして動かす。

イベント処理とリソースがわかりにくかったのでメモります。

Windows プログラミングとは、イベント処理を書く事。

入門書に、Windows プログラミングの開始は WinMain だと書いてありますが、WinMain (実際には tWinMain) は触らない方が良いみたい。IDE が生成した WndProc だけで事足ります。ここでイベントに対応する処理を書きます。

リソースとは、アドレスからデータを引く辞書

リソースは文字列定数や GUI 定義など、ソースコードに入れたく無い物を保存しておく場所です。ソースコードからは resource.h に書かれた定数を通してアクセスできます。cygwin でリソースをコンパイルするには windres.exe を使います。

ソースコード http://metatoys.org/pub/starFall/