1

私のアプリケーション ( http://tabbles.net ) では、Google デスクトップに表示されるような「グローバル検索」ショートカット キーを提供する必要があります: いつでも CTRL+CTRL を押した場合 (どのアプリケーションがアクティブで、キーボード フォーカスがあるかに関係なく) )、検索テキストを入力してEnterキーを押すことができるダイアログボックスがポップアップする必要があります。

これには、アクティブなアプリケーションからフォーカスを盗む必要があります。

これまでのところ、グローバル キー フックをインストールし、それを使用してキーの組み合わせを検出し、ダイアログ ボックスを表示することができました。ダイアログを一番上にしたので、常にアクティブなアプリケーションの上に表示されます。ただし、ダイアログ内のテキストボックスにフォーカスを当てることができないため、ユーザーは最初にマウスでクリックしないとダイアログに何も入力できません。そのため、ユーザーは入力する前にマウスでクリックする必要があり、これは負担です。

とにかくWindowsのフォーカス盗用防止を回避する方法はありますか? ありがとうございました。

4

1 に答える 1

1

これは、グローバル キー フックの代わりに RegisterHotKey を使用することで実現できました。

重要: textbox.focus() だけでなく、System.windows.input.Keybord.Focus(textbox) も使用する必要がありました。

于 2010-08-18T07:55:39.560 に答える