通过
rb.keyPress(KeyEvent.VK_WINDOWS);
rb.keyRelease(KeyEvent.VK_WINDOWS);
按下了windows键,怎么接着输入一段指令比如cmd,又或者其他字符串,whatever,注意有的可以用键盘事件代替,但此处我需要的是输入一段而不是按键盘。
然后执行回车。
rb.keyPress(KeyEvent.VK_ENTER);
rb.keyRelease(KeyEvent.VK_ENTER);
以上该怎么实现呢?完全没有思路啊。

解决方案 »

  1.   

    我就是想实现类似于平时咱们按下windows键,然后在下面那个输入框中输入cmd等指令,然后回车执行这条指令。
    cmd的话我还可以使用组合键盘执行,但是现在需要执行的指令比较复杂,所以我在想怎么通过java代码实现让那个输入框中写入字符串而不是通过按键。
      

  2.   

    不能直接用System里面方法输入dos命令吗?
      

  3.   

    不行啊,System 里面没这个方法啊
      

  4.   

    哟~楼主还在吗?代码如下:
    // 键盘输入
    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");
    只能找到这个连续输入数字的,如果是按键的话,不知道有没有什么好方法呢~
      

  5.   

    想到了输入字符串的方法....需要调用剪切板复制粘贴,只能适用于连续输入文本(可以是中文),但不能用于输入连续的按键(比如输入秘籍什么的?)
    代码如下:
    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");