【问题标题】:Simulating Key Press in C# [duplicate]在C#中模拟按键[重复]
【发布时间】:2024-01-03 14:12:01
【问题描述】:

所以我想让我的程序在计时器停止后自动模拟按键。我已经有了计时器和每个设置,我只需要以某种方式模拟按键。在应用程序的网络浏览器上弹出下载消息后,我只想让程序模拟为“ESC”键按下以退出下载消息弹出窗口。如何模拟按键?

【问题讨论】:

    标签: c# escaping key simulate


    【解决方案1】:

    我会使用 SendKeys 类,记录在 here

    例如,要发送“Esc”按键,您可以这样写:

    SendKeys.Send("{ESC}");
    

    【讨论】:

      【解决方案2】:

      我会使用Windows Input Simulator,因为它比Sendkeys 更可靠。

      【讨论】:

      • 我已经在我的项目中使用 nuget 安装了该软件包。而且我还添加了使用 system.windows.input;在我的代码之上。但是当我使用这个 InputSimulator.SimulateKeyPress(VirtualKeyCode.RETURN);它说,windowsinputSimulator 不包含模拟按键的定义。你能告诉我我做错了什么吗?
      • 您使用的是什么平台? WinForms?
      • 我正在使用 WPF C#。我有一个名为 MainWindow.xaml.cs 的文件,是的,我也在里面使用 Windows 窗体。
      • 我刚刚查看了我使用它的项目,导入语句是using WindowsInput; - 不是using system.windows.input;
      • 如果有人感兴趣,它与 Unity3D 完美搭配 :)
      【解决方案3】:

      在客户端,使用 jQuery.trigger 命令

      【讨论】: