Я пишу некоторый код Java, чтобы в коде, когда происходит событие, он открывал Microsoft PowerPoint из программы, а затем эмулировал некоторые нажатия клавиш, которые определены в коде. Моя проблема в том, что когда я прошу его эмулировать нажатие клавиши и передать десятичное значение клавиши, которую я хочу, чтобы она эмулировалась, он делает это неправильно. Код выглядит следующим образом:
public void test(String key) throws Exception {
int value = (int)key.charAt(0);
Controller c = new Controller();
Executer e = new Executer(c);
e.exec(c,"POWERPNT");
c.delay(5000);
c.emulateKeyTyped(97);
c.emulateKeyTyped(98);
}
Приведенный выше код предназначен для открытия Microsoft PowerPoint и эмуляции ключей «a» и «b» (значения ASCII которых равны «97» и «98»), но вместо этого PowerPoint печатает «1» и «2», а я понятия не имею, почему это так. Это использует PowerPoint 2007.
Странно то, что если я заменю «97» на «KeyEvent.VK__A» (то же самое целое число, то есть «97», поскольку «KeyEvent.VK_A» возвращает целое число), то печатается буква «a» в PowerPoint.
Причина, по которой я хочу использовать целые числа, заключается в том, что они передаются из другой части программы, а также потому, что я хочу иметь возможность эмулировать нажатия клавиш, отличные от букв / цифр и т. Д. (Также стрелки и т. Д.)
Я не уверен, что проблема в коде или в чем-то связанном с PowerPoint 2007, но любая помощь будет высоко ценится.
Спасибо за ответы, пока
Это работает для перехода к z, но я все еще не могу заставить его работать для других значений, таких как? и т.д.