Я пытаюсь сделать метод ввода Robot намного проще. Большинство кодов ключей в KeyEvent
являются шестыми кодами.Char to Hex параметр
план:
String
кchar[]
- для-каждого через находят шестнадцатеричное значение
(int)char
- Keypress (шестнадцатеричное значение
(int)char
) - keyRelease (шестнадцатеричное значение
char[]
(int)char
)
То, что я до сих пор:
import java.awt.*;
import java.awt.event.*;
public class Driver
{
private static Robot r;
public static void send(String phrase)
{
char[] chars = phrase.toCharArray();
for (char letter:chars)
{
//int hex = hex value of (int)letter
//r.keyPress(hex);
//r.keyRelease(hex);
}
}
public static void main(String[]args)
{
try
{
r = new Robot();
r.delay(5000);
send("Hello World");
}
catch(AWTException e)
{
//Nothing
}
}
}
Пожалуйста, укажите конкретный проблема с вашим кодом, как есть. Чего вы хотите добиться, чтобы ваш код в настоящее время не работает? – fge
Вам нужна шестнадцатеричная строка или вам нужно только целое значение? Если вы используете символы ASCII, вы можете использовать char в int. –
keyPress должен принять параметр, который выглядит как 0x41 для его нажатия. Мне нужно выяснить способ превращения символа в шестнадцатеричный. И я не могу передать строку. поэтому он должен выглядеть как keyPress (0x4b); –