#java
#java
Вопрос:
У меня ситуация, когда я хочу повторить действие клавиш на другом компьютере в сети. Например, если я нажму «abcd», это должно иметь тот же эффект на компьютере, подключенном к сети. Аналогично относится к BACKSPACE и любым другим клавишам. Я устал от использования Java robot class, но не получил точного результата. Есть ли какой-либо способ использовать Keylistener или Actionlistener или что-нибудь, что может выполнить эту работу?
Ответ №1:
Можете ли вы использовать KeyListener / MouseListener для локального захвата события, а затем отправить коды клавиш / мыши на удаленный компьютер через сеть (сокет), а на принимающей стороне использовать метод робота для генерации тех же нажатий клавиш?
Коды клавиш между KeyListener и роботом должны иметь одинаковые значения, поэтому вам не нужно выполнять какой-либо перевод между ними.
Могут возникнуть некоторые проблемы на разных платформах (скажем, если ваша исходная система — Windows, а ваша целевая система — Linux или какая-либо другая комбинация несоответствующих ОС), но в остальном я думаю, что это должно работать.
Если это не сработает, можете ли вы более конкретно рассказать о том, с какими проблемами вы на самом деле сталкиваетесь — например, какие проблемы, наборы ключей или что-то еще, похоже, не переводятся должным образом?
Комментарии:
1. возможно, первый антивирус убил это как KeyLogrer 1
2. Сомнительно, поскольку (1) он не подключается к циклам событий системных ключей (он может видеть только ввод, вводимый в приложение, как и любое другое приложение), и (2) он должен соответствовать шаблону, который AV уже идентифицировал как вирус. Однако я понимаю вашу точку зрения, и я полагаю, что не помешало бы отключить AV на короткий период для тестирования и посмотреть, применима ли ваша теория в этом случае. Никогда не знаешь.
3. Я полагаю, я бы также попытался отладить, получены ли ключи, но не повторяются ли они в пункте назначения, или не все из них были отправлены с самого начала.
4. 🙂 вначале вы, вероятно, протестируете системные зарезервированные ключи (например, F5 — Copy) и аналогичные key_shortcuts