如何在c#中发送LeftShift和向上箭头或向下箭头

时间:2013-06-27 20:52:47

标签: c# key shift arrow-keys

我正在编写一个小程序,用于将鼠标输入添加到另一个程序。为此,当鼠标向上滚动时,我必须发送LeftShift + UpArrow,当鼠标向下滚动时,我必须发送LeftShift + DownArrow。我怎么发这个?

我不能使用Shift,它必须是LeftShift。

2 个答案:

答案 0 :(得分:0)

你可以使用SendKeys,但如果有更好的方法,我建议你避免使用它。

 SendKeys.Send("+{DOWN}");

那是“向下移动箭头”...我没有在键列表上看到特定的左移选项,抱歉。

答案 1 :(得分:0)

您可以使用扫描码来确定按下哪个Shift键,我认为大多数键盘上的左移是44,右移是56或57.然而,这不是常数,因为不同的键盘布局产生不同的扫描码,所以你必须要求用户按下左移键,然后获取扫描码并将其存储给该用户。稍后使用该应用程序会将按键扫描码与该值进行比较。

我编辑了这个以添加此链接以深入处理扫描码:

simulating key press event using SendInput with C#