站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题请问JAVA中,如何模拟键盘/鼠标的操作?

请问JAVA中,如何模拟键盘/鼠标的操作?

摘要: 请问JAVA中,如何模拟键盘/鼠标的操作?


想用JAVA制作一个像按键精灵那样的程序,模拟鼠标/键盘的各种操作,该如何制作呢?
即使把这个操作模拟出来..如何发送给"执行操作的程序"还是个问题....


用jni吧,不过这个用java来做就是自找麻烦


以前还不知道有JNI..刚刚去查了一下,好象JNI就是调用其他C/C++程序来执行..那样好象就没必要用JAVA了...

难道JAVA在这方面比欠缺?

稍微有点C基础,那如果用C的话,该如何做啊?


http://topic.csdn.net/T/20051121/21/4408946.html

这是我以前问的关于键盘的,你看看


java.awt
类 Robot
java.lang.Object
java.awt.Robot

--------------------------------------------------------------------------------

public class Robotextends Object此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot 的主要目的是便于 Java 平台实现自动测试。

使用该类生成输入事件与将事件发送到 AWT 事件队列或 AWT 组件的区别在于:事件是在平台的本机输入队列中生成的。例如,Robot.mouseMove 将实际移动鼠标光标,而不是只生成鼠标移动事件。

注意,某些平台需要特定权限或扩展来访问低级输入控件。如果当前平台配置不允许使用输入控件,那么试图构造 Robot 对象时将抛出 AWTException。例如,如果 X 服务器不支持(或没有启用)XTEST 2.2 标准扩展,则 X-Window 系统会抛出异常。

出于自测试之外的目的而使用 Robot 的应用程序应妥善处理这些错误条件。



从以下版本开始:
1.3



用yko2008(0101001)的方法可以模拟出部分操作了
akey.keyPress(KeyEvent.VK_A);
akey.keyRelease(KeyEvent.VK_A);
不过只能模拟字母和数字的按键,像"CTRK HOME PageUp ,.//-" 这些按键,该怎么做呢?



键盘输入我使用的是:
String s;
buf = new BufferedReader(new InputStreamReader(System.in));
s=buf.readLine();
可以输入字符,但是每行都需要按回车才可以,好象有个是System.?的输入方法,可惜一直没找到..望知道的朋友告之



你看下JDK帮助,不只是只能模拟字母和数字的按键


请问如何组合调出任务管理器(CTRL+ALT+DELETE)?


我去找了下JKD帮助,上面列出了HOME/ALT/TAB等,但是对CRTL和DEL还没有说...也有可能是我看的不够仔细....
http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/awt/event/KeyEvent.html


其实我就是想用JAVA模拟CTRL+ALT+DELETE这个操作的,呵呵


VK_CONTROL
VK_DELETE


a.keyPress(KeyEvent.VK_ALT);
a.keyPress(KeyEvent.VK_CONTROL);
a.keyPress(KeyEvent.VK_Z);
a.keyRelease(KeyEvent.VK_Z);
a.keyRelease(KeyEvent.VK_ALT);
a.keyRelease(KeyEvent.VK_CONTROL);
使用这个可以顺利的呼出QQ截面了


但是
a.keyPress(KeyEvent.VK_ALT);
a.keyPress(KeyEvent.VK_CONTROL);
a.keyPress(KeyEvent.VK_DELETE);
a.keyRelease(KeyEvent.VK_DELETE);
a.keyRelease(KeyEvent.VK_ALT);
a.keyRelease(KeyEvent.VK_CONTROL);
却没有出现Win的那个界面,系统是Win2000Server


我也想知道


upup


↑返回目录
前一篇: 写socket服务器程序时不能解决的问题
后一篇: 我也想玩JAVA,但。。。