C#应用程序中的Windows热键



嗨,我正在开发一个C#Windows应用程序,该应用程序在应用程序外使用CTRL+A和CTRL+Z等组合键(在后台运行)。

我尝试了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...");
            }
        }

我需要尽快得到解决方案。非常感谢。

即使您可以解决这个问题(例如通过消息转发或调度),也不建议这样做。

最好使用唯一的组合键

相关内容

  • 没有找到相关文章

最新更新