我正在开发一个使用 java 自动输入内容的系统.我是这样写的:
I'm working on a system to type things automatically with java. This is how I write it:
public void typeMessage(String message) {
for (char c : message.toCharArray()) {
int code = c;
if (code > 96 && code < 123)
code = code - 32;
if (c == '@') {
robot.keyPress(VK_SHIFT);
robot.keyPress(VK_AT);
robot.keyRelease(VK_SHIFT);
robot.keyRelease(VK_AT);
} else {
type(code);
}
}
type(VK_ENTER);
}
但是我收到了这个错误:
But I'm getting this error:
Exception in thread "Thread-2" java.lang.IllegalArgumentException: Invalid key code
在
robot.keyPress(VK_AT);
你的键盘布局应该有一个@符号的键,这样代码才能工作.是吗?
Your keyboard layout should have a key for the @ symbol for this code to work. Does it?
如果您的键盘设置为美式布局,您需要输入 shift+2 来输入 @ 符号,而您必须使用 VK_2 而不是 VK_AT.
If your keyboard is set up with an American layout you need to type shift+2 to type an @ symbol, and instead of VK_AT you have to use VK_2.
这篇关于无效的键码@java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
如何检测 32 位 int 上的整数溢出?How can I detect integer overflow on 32 bits int?(如何检测 32 位 int 上的整数溢出?)
return 语句之前的局部变量,这有关系吗?Local variables before return statements, does it matter?(return 语句之前的局部变量,这有关系吗?)
如何将整数转换为整数?How to convert Integer to int?(如何将整数转换为整数?)
如何在给定范围内创建一个随机打乱数字的 intHow do I create an int array with randomly shuffled numbers in a given range(如何在给定范围内创建一个随机打乱数字的 int 数组)
java的行为不一致==Inconsistent behavior on java#39;s ==(java的行为不一致==)
为什么 Java 能够将 0xff000000 存储为 int?Why is Java able to store 0xff000000 as an int?(为什么 Java 能够将 0xff000000 存储为 int?)