4

私の VSTO プロジェクト ( Excel 用) では、ショートカット キー (キーボードの 3 つのキーの組み合わせ) を C# コードの関数にフックしたいと考えています。たとえば、CTRL+ SHIFT+を押すとC、関数MyShortCutFuctionが呼び出されます。

4

1 に答える 1

2

VSTO アセンブリを COM に公開して、VBA マクロ( ComVisible ) から呼び出せるようにすることができます。これにはいくつかの手動手順が必要ですが、COM からアセンブリにアクセスすると、マクロ ショートカット キーを割り当てることができます。

もう 1 つの可能性は、キーボード イベントを追跡するために Win32 API に直接フックすることです( windows サブクラス化)。Win32 APIを使用した参照実装を次に示します。WH_KEYBOARD_LL

VSTO でのキーボード キャプチャ アプローチに関する関連 SO 投稿も参照してください。

于 2012-10-11T13:52:30.150 に答える