C#中的Java Robot类等效代码

时间:2012-07-10 09:06:39

标签: c# java

有人可以帮我将以下java代码转换为C#。

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_WINDOWS);
robot.keyPress(KeyEvent.VK_M);
robot.keyRelease(KeyEvent.VK_WINDOWS);
robot.keyRelease(KeyEvent.VK_M);

我知道我们必须使用'user32.dll'。但我不确定我们必须采用哪种方法。

3 个答案:

答案 0 :(得分:8)

如果您正在尝试模拟键盘按键,则以下文章可以帮助您: http://www.codeproject.com/Articles/28064/Global-Mouse-and-Keyboard-Library

它有例子,所以不应该太难理解。

答案 1 :(得分:1)

InputSimulator 是 C# 中的绝佳选择 - NuGet 将其加载到项目中。

VS Studio 2019 中的工作示例:在身份验证弹出窗口中,将文本输入到具有焦点(光标)的用户名文本框中,浏览器开发工具/检查元素未检测到该文本以使用 selenium 进行自动化:

InputSimulator sim = new InputSimulator(); 
// enter username: QAUser01 
sim.Keyboard.TextEntry("QAUser01"); 
// press Tab key 
sim.Keyboard.KeyPress(VirtualKeyCode.TAB); 
// Enter Password 
sim.Keyboard.TextEntry("acb@123"); 
// submit enter 
sim.Keyboard.KeyPress(VirtualKeyCode.RETURN);

更多可以在这里参考:C# equivalent to Java Robot class

谢谢

答案 2 :(得分:0)

JAVA Robot类设计用于自动测试,并在HAL层(硬件抽象层)或低于HAL层(硬件抽象层)下运行。简单地以编程方式生成键和鼠标移动与将键放入硬件键盘缓冲区或硬件鼠标电路不同。