プログラム

2008年10月19日 (日)

クリップマスコット

以前、WindowsXpのコロかな?に、アクティブウィンドウにくっつくマスコットアプリを作っていました。
名前は、アクティブマスコットなどの名前は既にあったので、既出の名前と重ならないように、アクティブウィンドウにクリップするマスコットだから・・・ということで、クリップマスコットにしました。

で、時は流れて、いまやWindowsVistaの時代です(もう、出だしとしては遅いですが)

WindowsVistaになったときに、動作確認をしてみたのですが、コンテキストメニューがマスコットの位置ではなく、画面の左上に出てくるようになっていました。

たぶん、新しいコンパイラでビルドしなおせば、解決するだろうと高をくくって、特に何もせずにそのままにしていました。
#もう既に、java開発者になって久しいので(^^;

それで、昨日、勢いでVisual Studio 2008 Express Editionをゲットしてきて、それでリビルドかけてみました。

・・・ビルドエラー・・・orz

見てみると、コーディングエラーが何箇所かあります(^^;
型宣言をせずに変数を使っていたり(使い方はbool型でしたので影響はなかったようです)、castの使い方が間違っている・・・これは、C言語の書き方で、C++からするとcastが必要・・・ということみたいですが。

それからセキュリティ警告がたくさん(^^;
開発していた当時は、セキュリティなんて言葉が出てくることは無く、ぜんぜん気にしていませんでしたが、その後、特にメモリや文字列操作系のstrcpyなどの関数で、安全な関数に置き換える必要があるようです。
が、ここは警告なので無視。(ちゃんと、リソースのサイズは計算していますから(^^;)

で、ビルドを何とか通して動かしてみたものの、結局変わらずじまい。

もともと、クリップマスコットは、マスコットなのでタスクバーに名前が出てもらっては困ります。
それで、タスクバーに出ない作り方・・・非表示ウィンドウの子ウィンドウとして表示する方法をとっているのですが、コンテキストメニューの表示時に、タスクトレイからのメニュー表示と同じなので、親ウィンドウですべて処理をしていたのが問題になっているようです。

そう、WindowsVistaでは、メッセージ投稿時のマウス座標が、親ウィンドウの中の位置になってしまっているようなのです。
親ウィンドウは表示する必要が無いので、縦横どちらも0ピクセルで左上(0,0)に表示しているので、結局位置も左上のまま・・・なのかな?
なので、子ウィンドウのコンテキストウィンドウは、子ウィンドウで制御する必要があるみたいですね(^^;;

で、改造しようにも、もうちんぷんかんぷん・・・処理の構造がさっぱりなので、回収するにも大変な感じです。
コンテキストメニューの生成を関数化して、タスクトレイと子ウィンドウのどちらからも呼び出せるようにすればいいのかな?

まぁ、時間がかかりそうだということで・・・。

ちなみに、↓こんなのです。

20081019_timm_glasses

上のは、WindowsVista+VisualStudio2008Expressでのリビルド版。
もともと、こちらで公開していて、でもWindowsXpではうまく背景が抜けず、変な感じになってしまっています(ノw;
#当初Xpで公開していたのに・・・。Sp2とかで振る舞いが変わったのかしら。

時間があったら、コンテキストメニューの表示も含めて、きちんと対応してあげたいのですが・・・WEBフレームワークごにょごにょ・・・orz
#本当は、v1.0版は、アニメーション対応!の予定だったのですが(^^;;
#なので、永遠のv0.9版・・・なのかも(死

あ・・・メールアドレス違ってるや(ノw≦;;
#後で変えておこうっと。

| | コメント (0) | トラックバック (0)

2008年9月24日 (水)

ブラウザアクセス履歴

以前、ブラウザチェッカを作っていました。

WEBサイトにアクセスしたときのリクエストヘッダからユーザエージェントを抜き出し、あらかじめリストアップしておいたキーワード突合せ、どんなブラウザかを判断するプログラムです。

そして、念のためにパブリックコンテンツ(~/waltraute/)では、独自形式ですがアクセスログをとっています。
それで、ブラウザチェッカとアクセスログを組み合わせ、直近のアクセス分を集計するプログラムを作ってみました。

題してブラウザマネジャ(ちょっと違うかな(^^;)

チェックしてみて思ったのですが、4年余りかけて公開してきたせいか、7万5千もアクセスがあってたのに、びっくりデス(^^;
#まぁ、掲示板は、一回の表示で画像をいくつかとるので・・・。

それから、アクセス状況を眺めてみると、意外にサーチボットが来ていました(34%)。
対して、普通のIEのアクセスがわずかに勝っている(40%)ので、なんとかサイトの体裁は保ってる感じです(汗

ブラウザチェッカも、モバイルサーチボット(docomoの判別部分)などをまだまだ誤認識している箇所があるので、もう少し分類データベースの精度を上げないといけませんね(^^;
このあたりは、一人では限界があったりするのですが・・・、まぁ、趣味の範囲ですし(笑

| | コメント (0) | トラックバック (0)