ハンス・パサントの答えに記載されているように、技術的には、WH_KEYBOARD_LL
フックに接続する以外の方法はありません。それにもかかわらず、便利なマネージラッパーを提供するマネージライブラリMouseKeyHook as nugetがあります。 Source code on github。
最近、ショートカット、キーの組み合わせおよびシーケンスの検出のサポートが追加されました。
void DoSomething()
{
Console.WriteLine("You pressed UNDO");
}
Hook.GlobalEvents().OnCombination(new Dictionary<Combination, Action>
{
{Combination.FromString("Control+Z"), DoSomething},
{Combination.FromString("Shift+Alt+Enter"),() => { Console.WriteLine("You Pressed FULL SCREEN"); }}
});
詳細については以下を参照してください:Detecting Key Combinations and Seuqnces
をここでは使用例があります