vista対応・・

今日、休みだったので、この前から気になっていた自分のソフトのvista対応にはまった。
実は、何が原因だったのか、あれくらい必ず私のソフトを立ち上げたjぷたいで、ie7を起動すると、エラーで起動できなかったのに、ある時期を境にぴたりとそれがなくなった。
HeartyLadderだけは、インターネット機能を使うと同じエラーが出るのだが・・・
その間に、windowsの更新もあったようなのでそれで、よくなったのかと思っていたのだが、以前、報告してくださったAgainTyperのユーザーさんに聞いてみたところ、まだ同じという返事があった。
それで、その方に協力してもらって、原因を究明することに。
幸い、原因の箇所はすぐにわかった。が、その対応にちょっと手こずらされた。
それも、今日、1日、じっくり時間がかけられたおかげで、たぶん、対応できたと思う。まだ最終TESTの報告が来ていないからなんともいえないが。たぶん、大丈夫だろう。

これまで、いろんなページで助けられたので、私もここでちょっと恩返し!この情報はどこにもなかったから参考になればと思う。もしかして私のソフトに限ってのことかもしれないが・・・

その原因は、CBTフックのコールバック関数の中で、共有メモリーを使うために、メモリーをマップするといけないようだ。

  HANDLE fp;
HHOOK HHook=CbtHHook;
TagShareData *mp;
fp=OpenFileMapping(FILE_MAP_ALL_ACCESS , FALSE , "map filename");
mp=(TagShareData *)MapViewOfFile(fp , FILE_MAP_ALL_ACCESS,0,0,sizeof(TagShareData));

  こういうことをやったらいけないようだ。

キーボードなどをフックしたコールバック関数の中だと問題ないみたいだ。
XP以前のOSでは問題ないのも不思議だ。


さて、次はTextClipperだ。原因は同じだが規模が大きいからちょっと大変そう。

このブログ記事について

このページは、Takakiが2007年7月28日 17:39に書いたブログ記事です。

ひとつ前のブログ記事は「老いは寂しい・・」です。

次のブログ記事は「散歩」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

ウェブページ

Powered by Movable Type 4.21-ja