2007年06月12日
川俣晶の縁側ソフトウェアその他開発日誌 total 3125 count

aimemon Version 0.7・64bit対応他

Written By: 川俣 晶連絡先

 aimemonが64bitアプリに反応しない……というレポートをもらい、先延ばしに出来なくなったので、64bit(x64)対応しました。

 以下、修正点を説明します。

64bit対応 (x64) §

 旧aimemonが64bitアプリに反応しないのは、32bitのフックDLLが64bitアプリのメッセージを掴まえられないからです。

 一方、単純にaimemonを64bitアプリにすると、今度は32bitアプリのメッセージを掴まえられません。

 まず、32bitアプリなど使わないよ……という純64bit主義者向けに、上記のような64bitバージョンを作成しました。(5~10年もすれば、たいていのユーザーはこれで用が足りるようになるはず)

 その後、64bitのフックDLLを読み込むだけのヘルパ・アプリを作成しました。

 32bit版+ヘルパの組み合わせだと、32/64の双方のフックDLLが常駐してメッセージを監視できます。しかし、実際に表示される虹色枠は、32bit版本来が表示する1つだけとなります。

 つまり、今回のaimemonには以下の3種類の使い方があります。

  • 32bit版
  • 64bit版
  • 32bit版+64bitヘルパ (32/64双方に反応)

 ちなみに、32bit版+64bitヘルパの場合、通知領域に2つのアイコンが表示されます。

 アイコンはあらためて作り直しました。一応、32bit版は"3"が、64bit版は"6"が、64bitヘルパは"H"と"6"がデザインに織り込まれています。

エラーではないのに通知領域に登録失敗してしまう場合の対策 §

 これはまだ完全に確定的ではありません。

 たまにしか再現しないので。

感想・64bit開発 §

 まだ簡単ではないですね。

 Visual Studio 2005で64bit開発(C++&生API)は、いろいろと手間が掛かります。

 しかも、32/64混在だと、いろいろと混乱も起きます。意味不明の挙動に悩まされた回数は数知れず。とりあえず、64bitを意識するなら、C#で書く方が楽でしょう。

 あるいは、次のバージョンのVisual Studioを期待してもいいのかな?