java中模拟键盘,然后输入内容

天赐褚墩 2014-10-23 04:08:33
通过
rb.keyPress(KeyEvent.VK_WINDOWS);
rb.keyRelease(KeyEvent.VK_WINDOWS);
按下了windows键,怎么接着输入一段指令比如cmd,又或者其他字符串,whatever,注意有的可以用键盘事件代替,但此处我需要的是输入一段而不是按键盘。
然后执行回车。
rb.keyPress(KeyEvent.VK_ENTER);
rb.keyRelease(KeyEvent.VK_ENTER);
以上该怎么实现呢?完全没有思路啊。
...全文
912 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
2Vb2eoJ 2016-12-14
  • 打赏
  • 举报
回复
想到了输入字符串的方法....需要调用剪切板复制粘贴,只能适用于连续输入文本(可以是中文),但不能用于输入连续的按键(比如输入秘籍什么的?) 代码如下:
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");
Afdadfssff 2016-12-14
  • 打赏
  • 举报
回复
同样的问题,坐等解答~
2Vb2eoJ 2016-12-14
  • 打赏
  • 举报
回复 1
哟~楼主还在吗?代码如下:
// 键盘输入
	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");
只能找到这个连续输入数字的,如果是按键的话,不知道有没有什么好方法呢~
天赐褚墩 2014-10-23
  • 打赏
  • 举报
回复
我发誓这个问题不解决这辈子不结贴
天赐褚墩 2014-10-23
  • 打赏
  • 举报
回复
不行啊,System 里面没这个方法啊
天赐褚墩 2014-10-23
  • 打赏
  • 举报
回复
引用 4 楼 okafor2011 的回复:
不能直接用System里面方法输入dos命令吗?
怎么弄,提示下or举个例子
okafor2011 2014-10-23
  • 打赏
  • 举报
回复
不能直接用System里面方法输入dos命令吗?
天赐褚墩 2014-10-23
  • 打赏
  • 举报
回复
我就是想实现类似于平时咱们按下windows键,然后在下面那个输入框中输入cmd等指令,然后回车执行这条指令。 cmd的话我还可以使用组合键盘执行,但是现在需要执行的指令比较复杂,所以我在想怎么通过java代码实现让那个输入框中写入字符串而不是通过按键。
普凡 2014-10-23
  • 打赏
  • 举报
回复
没太明白楼主的意思,键盘就是个输入流,你想输出一段那么可以设定好键盘按键几 就输出什么字符,程序里边做判断,不知道是不是这个意思
天赐褚墩 2014-10-23
  • 打赏
  • 举报
回复
坐等大神

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧