2009-03-05 83 views
1

我想使^ N的工作方式与树中的向下箭头相同。我想 我只需要添加以下到的KeyDown处理程序:SendKeys.Send并关闭键修改器

SendKeys.Send("{Down}"); 

但会将这种行为视为因为控制键 目前按下控制向下箭头。 msdn page 描述了如何打开 控制修改器,但不知道如何关闭它。

感谢, 基思

回答

4

对不起来迟到了,但我想我找到了解决办法:

首先,进口SetKeyboardState:

[DllImport("user32.dll")] 
public static extern bool SetKeyboardState(byte[] lpKeyState); 

然后,就用调零字节数组调用它调用SendKeys.Send前():

SetKeyboardState(new byte[256]); 
SendKeys.Send("your key sequence"); 

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

+0

+1也适用于我;) – JustLoren 2009-10-07 19:40:37

0

这里是做它的艰辛的道路。我承认这不是实现它的最佳方式。我相信你已经知道这一点。您可能想要使用SendMsg Win32 Api过载Windoproc控件的方法&。这就是我在当天使用的东西。

1

您可以调用keybd_event。这可以让你模拟一个处于“上”和“下”状态的密钥。