2

これについて多くのことを読んできましたが、写真がぼやけてしまいます。グローバル ホットキーを待機してウェイクアップするために KeyboardHook をインストールする 32 ビット アプリがあります。Win 7 x64 エディションで実行すると、ホットキーを押すと Outlook x64 エディションがハングすることがわかりました。

そこで、調査を行ったところ、32 ビット キーボード フックは 64 ビット アプリでは動作しないようです。さらにテストする時間...

ホットキーは、64 ビットのメモ帳、ワードパッド、および付箋で正常に機能します。タスク マネージャーで横に「*32」がないため、これらが 64 ビット アプリであることを確認しました。アプリはハングせず、本来の機能を果たします。しかし、ちょっと待ってください... 32 ビットのフック DLL を 64 ビット アプリにロードすることはできませんよね?

Process Explorer を見ると、フック dll がメモ帳プロセスにロードされていないことがわかります。(WOW64 ディレクトリから 32 ビットの notepad.exe を実行すると、dll がプロセスに読み込まれていることがわかるので、ツールを正しく使用していることがわかります)。

Outlook のハングアップの問題は関連している場合もあれば、関連していない場合もありますが、64 ビットのメモ帳でもフックが機能するのはなぜですか?

4

1 に答える 1

0

私は、KeyboardHookをインストールしてグローバルホットキーを待ってウェイクアップする32ビットアプリを持っています。

それが最終的な目標である場合は、RegisterHotKeyを使用する方が簡単で、システムへの影響も少なくなります。

于 2011-08-20T14:42:32.640 に答える