SendKeys.Send 和关闭键修饰符

Kei*_*ith 1 c# keyboard sendkeys

我想让 ^N 与树控件中的向下箭头相同。我以为我只需要将以下内容添加到 KeyDown 处理程序中:

SendKeys.Send("{Down}");
Run Code Online (Sandbox Code Playgroud)

但这被视为 Control-Down 箭头,因为当前按下了控制键。在MSDN页 介绍了如何打开控制修改但不知道如何将其关闭。

谢谢,基思

小智 5

很抱歉来晚了,但我想我找到了解决办法:

首先,导入 SetKeyboardState:

[DllImport("user32.dll")]
public static extern bool SetKeyboardState(byte[] lpKeyState);
Run Code Online (Sandbox Code Playgroud)

然后,在调用 SendKeys.Send() 之前,只需使用归零字节数组调用它:

SetKeyboardState(new byte[256]);
SendKeys.Send("your key sequence");
Run Code Online (Sandbox Code Playgroud)

那对我有用。希望这可以帮助!