嗨,我正在开发一个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...");
}
}
我需要尽快得到解决方案。非常感谢。
即使您可以解决这个问题(例如通过消息转发或调度),也不建议这样做。
最好使用唯一的组合键。