我正在开发一个远程应用程序。(鼠标 - 键盘)我只是快速显示我的问题...
它适用于“A”或一些基本字符。
case "a":
robot.keyPress(KeyEvent.VK_A);
但是我没有制作“@”字符。我的方法是这样的。
case "@":
robot.keyPress(KeyEvent.VK_ALT_GRAPH);
robot.keyPress(KeyEvent.VK_Q);
robot.keyRelease(KeyEvent.VK_ALT_GRAPH);
我在使用 VK_ALT_GRAPH 时看到异常;
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Invalid key code
at sun.awt.windows.WRobotPeer.keyPress(Native Method)
at java.awt.Robot.keyPress(Unknown Source)
这是一个错误吗?如何按“@”字符?也是这样,这些我都做不到; $、#、? , [ , ] , {, } , ' , * ...
最佳答案
我知道这已经很老了,但没有人给出正确的答案,经过练习后我采用了解决方案。
那是我的键盘:
对于按@或#,你必须这样做:
bot.keyPress(VK_CONTROL);
bot.keyPress(VK_ALT);
bot.keyPress(VK_3);
bot.keyRelease(VK_CONTROL);
bot.keyRelease(VK_ALT);
bot.keyRelease(VK_3);
关于java - Robot.keyPress 不适用于 VK_ALT_GRAPH(无效的键代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22919591/