通过
rb.keyPress(KeyEvent.VK_WINDOWS);
rb.keyRelease(KeyEvent.VK_WINDOWS);
按下了windows键,怎么接着输入一段指令比如cmd,又或者其他字符串,whatever,注意有的可以用键盘事件代替,但此处我需要的是输入一段而不是按键盘。
然后执行回车。
rb.keyPress(KeyEvent.VK_ENTER);
rb.keyRelease(KeyEvent.VK_ENTER);
以上该怎么实现呢?完全没有思路啊。
rb.keyPress(KeyEvent.VK_WINDOWS);
rb.keyRelease(KeyEvent.VK_WINDOWS);
按下了windows键,怎么接着输入一段指令比如cmd,又或者其他字符串,whatever,注意有的可以用键盘事件代替,但此处我需要的是输入一段而不是按键盘。
然后执行回车。
rb.keyPress(KeyEvent.VK_ENTER);
rb.keyRelease(KeyEvent.VK_ENTER);
以上该怎么实现呢?完全没有思路啊。
cmd的话我还可以使用组合键盘执行,但是现在需要执行的指令比较复杂,所以我在想怎么通过java代码实现让那个输入框中写入字符串而不是通过按键。
// 键盘输入
public static void input(String str){
if(str!=null){
for(char c : str.toCharArray()){
pressKey(c);
}
}
}
private static void pressKey(int keyvalue) {
robot.keyPress(keyvalue); // 按下按键
robot.keyRelease(keyvalue); // 释放按键
}要调用时:
input("123456789");
只能找到这个连续输入数字的,如果是按键的话,不知道有没有什么好方法呢~
代码如下:
public static void inputStr(String str){//字符串
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(new StringSelection(str), null);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
}
调用的时候:
inputStr("cmd");