Java模拟发送键盘消息 shift组合键
来源:互联网 发布:linux启动过程详解 图 编辑:程序博客网 时间:2024/06/04 17:51
Java中可通过java.awt.Robot来模拟发送消息:键盘消息,鼠标消息之类的。
先来试试
Robot robot = new Robot();robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_ALT);robot.keyPress(KeyEvent.VK_RIGHT);robot.keyRelease(KeyEvent.VK_RIGHT);robot.keyRelease(KeyEvent.VK_ALT);robot.keyRelease(KeyEvent.VK_CONTROL);
成功的执行了QQMusic的下一首:Ctrl+Alt+Right
再来试试Kuwo的下一首:Ctrl+Shift+Right
Robot robot = new Robot();robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_RIGHT);robot.keyRelease(KeyEvent.VK_RIGHT);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_CONTROL);
狂点。。。没反应,难道不支持Shift键,google之
http://www.webdeveloper.com/forum/showthread.php?t=221722
这位仁兄遇到了相同的问题,不过是在四五年前了,他没有给出解决方案,只是给了一个记录键盘消息的代码,通过这段代码发现:按下SHIFT后,再按Right,会触发SHIFT的release事件和Right的press事件,难道是Java的bug,继续google之
https://forums.oracle.com/forums/thread.jspa?threadID=2230592
另一位仁兄也遇到了这个问题,看来吾道不孤也,而且还是前几个月发生的事情。在他那里,有人指出了问题之所在,这还真是Java的Bug
Bug 4908075
Bug 6463168
让人费解的是bug已经提交N年了,还是没有修复。
还好,有方法可以绕过这个bug:turn off the numlock keys
Toolkit.getDefaultToolkit().setLockingKeyState(KeyEvent.VK_NUM_LOCK, false);
这样,就解决了发送组合键消息时,Shift不能和其他键同时按下的问题。
http://weblogs.java.net/blog/joshy/archive/2003/08/swinghack_keybo.html
后来发现,方法原来是有一位仁兄提供的,忽略了,不过网址没登上去。
就此停笔了。。。
- Java模拟发送键盘消息 shift组合键
- VC使用API和发送键盘消息模拟键盘(组合键)消息
- 再谈vc发送键盘、组合键消息
- keybd_event模拟键盘发送组合键
- 处理键盘组合键消息
- VB中怎么模拟键盘按Shift+1键???
- Android应用程序中模拟发送键盘触摸消息
- 向指定窗口发送模拟键盘按键消息
- Windows下向指定窗口模拟发送键盘消息
- Qt模拟键盘按键与组合键
- Qt模拟键盘按键与组合键
- Shift + Tab组合键
- JAVA模拟微信消息发送请求
- vc发送和接受组合键消息
- VC++模拟键盘消息
- 模拟按键发送消息
- 模拟QQ发送消息
- Java--Java模拟异步消息的发送与回调
- iOS程序之事件处理流程
- 【Windows源码分析】(一)初始化内核与执行体子系统
- SSH2搭建篇04——配置spring注解
- Qt中的菜单类使用
- 各种事
- Java模拟发送键盘消息 shift组合键
- Oracle 11gR2数据库已不再包含css配置命令 - localconfig
- Android四大基本组件介绍与生命周期
- Hibernate关联映射之多对一单向关联映射
- 看我可以坚持多久..
- POJ 1328 Radar Installation
- 十三周任务四
- 海量数据处理
- hashmap线程不安全在哪里?