【问题标题】:How to simulate Keystrokes in C#?如何在 C# 中模拟击键?
【发布时间】:2012-02-02 01:46:35
【问题描述】:

Google 提供了this,但它似乎只适用于 WindowsForms 类。我对 C# 完全陌生。我想要做的是一个监控事件的程序,然后(例如)就像按下了“H”键一样。我真的不想担心活动窗口是什么或任何东西,或者向应用程序发送击键,我只想让程序表现得好像我已经物理按下了键盘上的“H”按钮。 SendKeys 类似乎不适用于一般类。我会以完全错误的方式解决这个问题吗?

【问题讨论】:

  • 仅 C# 无法处理此问题。您需要获得比这更低的级别。您可以使用 pinvoke 调用必要的键盘挂钩。这是一个例子(我害怕被遗弃了,但接收键盘事件的功能已经存在)——github.com/eberle1080/Kaptivate
  • This question 包含的答案几乎引用了我所知道的所有变体。
  • 当您开始编程时,有些项目可能是一个非常糟糕的选择。这是其中之一。
  • 我在另一页回答了同样的问题。请查看here。希望这会有所帮助。

标签: c# sendkeys keystroke


【解决方案1】:

来自How to: Simulate Mouse and Keyboard Events in Code

Windows 窗体提供了多种以编程方式模拟鼠标和键盘输入的选项。

模拟鼠标输入
模拟鼠标事件的最佳方法是调用OnEventName 方法来引发您要模拟的鼠标事件。

模拟键盘输入
尽管您可以使用上面讨论的鼠标输入策略来模拟键盘输入,但 Windows 窗体还提供了 SendKeys 类,用于将击键发送到活动应用程序。

【讨论】:

    猜你喜欢
    • 2014-01-07
    • 2014-06-22
    • 2011-08-02
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 2011-01-25
    相关资源
    最近更新 更多