如何计算c#中的键组合

本文关键字:组合 何计算 计算 | 更新日期: 2023-09-27 18:29:58

我必须遵循capture keys pressed: 的代码

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
        const int WM_KEYDOWN = 0x100;
        const int WM_SYSKEYDOWN = 0x104;
        if ((msg.Msg == WM_KEYDOWN) || (msg.Msg == WM_SYSKEYDOWN))
        {
            int x;
            switch (keyData)
            {
                case (Keys)131149: //case Keys.Control | Keys.M:
                    x = 1;
                    break;
                case Keys.Alt | Keys.Z:
                    x = 2;
                    break;
                case Keys.Shift | Keys.A:
                    x = 3;
                    break;
                case (Keys)196685: //Keys.Control | Keys.Shift | Keys.M:
                    x = 1;
                    break;
            }
        }
        return base.ProcessCmdKey(ref msg, keyData);
    }

您可以看到按键组合Ctrl+Shift+M==196685.

有没有一种方法可以让我计算代码中的其他组合?

例如:Alt+F==?等等。

如何计算c#中的键组合

Console.Write((int)(Keys.Alt|Keys.F))

或者更基本的:

1000000000000000000或1000110=1000000000001000110