0

.NET 2.0 を対象とするアセンブリを使用して、幅広いアプリケーションと互換性を持たせています。デスクトップ アプリケーション (winforms または WPF) で使用する場合、特定のホットキーをフックし、モードレス ダイアログ ウィンドウをポップアップしたいと考えています。難しいのは、WPF と互換性のある .NET 2.0 で実装できるソリューションを見つけることです。

Winforms の場合、 RegisterHotKeyを使用するか、IMessageFilter を実装してPreFilterMessageメソッドでWM_KEYDOWNをフックできますが、WPF ではうまく機能しません。

WPF の場合、InputBindingクラスは非常に優れていますが、これは .NET 2.0 では使用できません。

理想的なソリューションは次のとおりです。

  • .NET をターゲットとするアセンブリをビルドする

  • WPF または Winforms のキーストロークをフックする

  • システム全体ではなく、アプリケーション全体のスコープを提供する

4

1 に答える 1

0

Windows API (システム全体のフック) に基づいてユニバーサル ソリューションを構築できます。Don Esposito はそれについて素晴らしい記事を書いています。ここにリンクがあります

http://msdn.microsoft.com/en-us/magazine/cc188966.aspx

システム全体のフックが必要ない場合は、アプリケーション フックも作成できます。それは実際には実装が簡単です。ドンもそれをカバーしていると思います。

于 2009-12-05T14:24:51.577 に答える