-2

こんにちは、アプリの外部で CTRL + A や CTRL + Z などのキーの組み合わせを使用する (バックグラウンドで実行されている) C# Windows アプリに取り組んでいます。

RegisterHotKeysチュートリアルを試しましたが、問題があります。CTRL+A を押すと、メソッドのみが実行され、Windows の既定のアクションは実行されません。最初の Windows アクションを実行し、そのアクションの後にのみそのキーのメソッドを実行したいと考えています。

例えば:

CTRL+A

1) Select All

2) My code

以下のコード:

private void mainForm_Load(object sender, EventArgs e)
        {
            ObjectsList = new List<Data>();

            thisWindow = FindWindow(null, "myform");

            RegisterHotKey(thisWindow, 1, (uint)fsKeyMod.Control, (uint)Keys.A);

        }


        private enum fsKeyMod
        {
            Control = 0x0002,
        }

        protected override void WndProc(ref Message keyPressed)
        {

            base.WndProc(ref keyPressed);

            if (keyPressed.Msg == 0x0312)
            {
                Console.WriteLine("apasat cv...");
            }

        }

できるだけ早く解決策が必要です。ありがとう!

4

1 に答える 1

1

これを修正できたとしても (メッセージの転送やディスパッチなどで)、これはお勧めできません。

代わりに、一意のキーの組み合わせを使用することをお勧めします。

于 2015-12-26T20:18:21.187 に答える