【问题标题】:How can I send LeftShift and Up Arrow or Down Arrow in c#如何在 c# 中发送 LeftShift 和上箭头或下箭头
【发布时间】:2013-06-27 20:52:46
【问题描述】:

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

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

【问题讨论】:

    标签: c# key shift arrow-keys


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      我已对此进行了编辑以将此链接添加到扫描码的深入处理中:

      simulating key press event using SendInput with C#

      【讨论】:

        最近更新 更多