Покинул форум
Сообщений всего: 3
Дата рег-ции: Нояб. 2018
Репутация: 0
Приветствую. Столкнулся с проблемой... есть клиент фришного сервера lineage 2. Защита типа фроста и геймгварда отстутсвует. Посылка нажатий клавиатуры и мыши посылаются нормально(с запущенным кибором из под админа, естественно). Однако есть проблемы с этим. Когда в активное окно посылаешь "key()" или "mouse()" проблем нет, однако в свёрнутое окно посылаю "sendkey()" или "sendmouse()" и тут начинаются проблемы. Через send... посылается только один раз, на второй отправке окно клиента вылетает. Посему вопрос: каким образом работает key/mouse и sendkey/sendmouse? Насколько я понимаю и то, и то использует WinAPI. Тогда почему key срабатывает, а sendkey только один раз и выбивает окно? Как можно это вылечить или как то обойти, чтобы посылать в свёрнутое окно и при этом не выбивало его?
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
Цитата:
в свёрнутое окно посылаю "sendkey()" или "sendmouse()"
sendmouse в л2 не работает. Если и работало бы то в в перекрытое окно, но не свёрнутое.
sendkey должно работать, может всё-таки есть какая-то защита.
askauser
Отправлено: 06 Января, 2019 - 11:22:10
Прохожий
Покинул форум
Сообщений всего: 3
Дата рег-ции: Нояб. 2018
Репутация: 0
есть в кибор многопоточность ?
Kibor
Отправлено: 06 Января, 2019 - 12:35:45
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013 Откуда: Одесса
Репутация: 357
askauser пишет:
есть в кибор многопоточность ?
Нет. Таймеры есть.
dervis
Отправлено: 13 Января, 2019 - 17:32:17
Прохожий
Покинул форум
Сообщений всего: 4
Дата рег-ции: Янв. 2019
Репутация: 0
столкнулся с аналогичной проблемой с нажатием мыши или клавиши но в другой игре.
суть - всплывает окно, в нем две кнопки - ок и отмена, если нажать Enter - по умолчанию идет клик по "ок". это если нажимать физически клавиатурой, ну или мышью по окей. клавитатурой если прожать быстро - все работает корректно, прям моментально со скоростью меньше секунды.
теперь о коде... я бился лбом двое суток пытаясь выслать RETURN или 13 через sendkey, keydown/keyup и так далее с указанием двойного нажатия, одинарного, проверки активности окна, принудительного активировании окна.
при посылании всплывающее окно закрывается, мол все типа окей - но по факту не происходит технического нажатия этой клавиши(как будто бы я вобще ескейп выслал). тоже самое и с мышью, пробовал и в активное и в неактивное окно. просто упоролся но кое как получилось сэмулировать требуемое действие только через mousedown/mouseup c офигенной задержкой между ними. данная задержка вобще не устраивает так как физически сам прожимаешь эту кнопку в 100 раз быстрее.
что самое смешное, что когда пробуешь данное действие сам, физически клавиатурой, то действие всегда завершается успешно с обработкой прожатия, когда делаешь через код - не работает(точнее якобы работает но клиент не хочет технически обрабатывать данное действие).
есть ли у кого-нибудь идеи почему такое происходит и как это обойти???
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.