【问题标题】:Is there a way to press or fireup the keys in key board using c# code?有没有办法使用 c# 代码按下或启动键盘中的键?
【发布时间】:2009-06-20 21:15:58
【问题描述】:

我希望通过代码按下“Alt”。这就像通过代码使用“Alt”键触发按键事件,而不是手动点击它。需要的是,我已经为菜单设置了“快捷键”,但是除非用户按下“alt”,否则它(键字母上的单个下划线)对用户不可见。所以我需要默认按下 Alt。

有没有办法使用 c# 代码“按下”或“启动”键盘中的键?

【问题讨论】:

  • 在什么意义上?将密钥发送到其他控件或表单?或者在某些控件中处理按键事件时?
  • 嗨,你为什么要这样做?你想达到什么目的?可能有更好的解决方案

标签: c#


【解决方案1】:

查看System.Windows.Forms.SendKeys 类。

您可以使用静态Send 方法将击键发送到活动窗口。如果您尝试将击键发送到另一个窗口,则需要先使用 Windows API 激活另一个窗口。

【讨论】:

    【解决方案2】:

    如果您对部署程序的操作系统有任何控制权,显然您可以通过转到控制面板 -> 显示 -> 外观 -> 效果 -> 隐藏带下划线来强制始终显示带下划线的快捷方式字母用于键盘导航的字母。

    (http://www.chinhdo.com/20080902/underlined-letters-windows/)

    【讨论】:

      【解决方案3】:

      这里是codeproject上关于使用 SendKeys 的完整文章

      【讨论】:

        【解决方案4】:

        这是模拟输入(鼠标和键盘)的方式。 http://msdn.microsoft.com/en-us/library/ms171548.aspx

        如果您查看 System.Windows.Forms.SendKeys 类,您会发现它为您提供了您想要的。 http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.aspx

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-03-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多