1

キープレスの記録中に Windows のグローバル ショートカットを抑制することは可能ですか?

C# で記述された Windows フォーム アプリケーションがあり、このライブラリを使用してキープレスを記録し、後でマクロで使用します。ここで、Windows で使用されるキーの組み合わせ (つまり、L Control + Win + Win 10 で仮想デスクトップを変更するための右矢印) を記録するとき、アプリでそれを記録したいのですが、記録中に Windows が実際にそれを使用しないようにしたいと思います。かなり迷惑です。

クリックイベントでキーキャプチャを有効にするチェックボックスがあります

m_KeyboardHookManager.KeyDown += HookManager_KeyDown;

HookManager_KeyDown は単純にこのようなものです

private void HookManager_KeyDown(object sender, KeyEventArgs e)
{
    Log(string.Format("KeyDown \t\t {0}\n", e.KeyCode));
    string [] sArr = new string [2];
    if (keyBindingArea1.Text != "")
    {
        sArr[0] = keyBindingArea1.Text;
        sArr[1] = string.Format("{0}", e.KeyCode);

        keyBindingArea1.Text = string.Join("+", sArr);
    }
    else
    {
        keyBindingArea1.Text = string.Format("{0}", e.KeyCode);
    }
}

これは、comboText コントロールにキーの組み合わせを表示します。(このコードは、パッケージに添付されているデモから直接取得されます。

たとえば、L Control + Win を押してから、キーを離して 3 つ目のキー (つまり、右矢印) を押すと、記録がうまく機能します。

どんな助けにも感謝します。ありがとう

4

1 に答える 1