言語ゲーム

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

Twitter: @propella

日曜日もハック

今日は実家でわりと重要な集まりがあって懐石を食べる。子供の頃から遊んでいた商店街に謎の暗い小さな旅館のような小さな玄関があって、子供心にここだけ賑やかな周りと浮いてて変だなーと思っていたのだが、実は中に入ると想像できないほど広くて、しかも池に鯉が泳いでいて懐石を食べる場所だという事を始めて知った。これは大げさに言うと引き出しを開けると実はタイムマシンだったような衝撃度だ。謎には全て答えがあるのだ。とにかく無事終わってよかった。

まあそんな数時間を除いて本日もハック。昨日はもう出来たつもりでいたのだがさらに続きがあった。今日勉強した事は、PostThreadMessage で Windows のスレッドにメッセージを投げると、それは DispatchMessage を使ったコールバックで処理出来ないし、それどころかスパイツールにも引っかからないという事。これは腹立つ!確かにマニュアルにちょこっと書いてあるのだが、こういう引っかかりやすいポイントは「解説」ではなく「注意」とでも目立つように書いてくれないとなー。

僕は大体調べたい事がある時はマニュアルよりもまずウェブで探すのだが、それはマニュアルにはこんな風な引っかかりやすいポイントが書いてないから。残念ながら今回は役に立たなかったが、これで実際自分でマニュアルを書く際に気をつけなくてはいけない事の勉強になる。つまり、失敗しそうな点を強調して書きましょう。

しかし実質 300 行くらいしかないコードで色んな技を学ぶ事が出来て面白いな。歴史にまみれたコードだから美しいとはとても言えないが、先人の苦労が API の端々に現れておる。例えばメッセージ構造体の引数が wParam と lParam の二つの数値であると決めた時、一体どんな葛藤があったんだろうなー。どうせポインタを入れるなら一つで良い訳だし、便利なように四つくらい入れておくという手もあったかも知れないが、きっと不毛な会議を一杯したんだろうなーと想像するわけです。