Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Механизм "key" и "sendkey"

Страниц (1): [1]
 

1. askauser - 04 Января, 2019 - 22:21:02 - перейти к сообщению
Приветствую. Столкнулся с проблемой... есть клиент фришного сервера lineage 2. Защита типа фроста и геймгварда отстутсвует. Посылка нажатий клавиатуры и мыши посылаются нормально(с запущенным кибором из под админа, естественно). Однако есть проблемы с этим. Когда в активное окно посылаешь "key()" или "mouse()" проблем нет, однако в свёрнутое окно посылаю "sendkey()" или "sendmouse()" и тут начинаются проблемы. Через send... посылается только один раз, на второй отправке окно клиента вылетает. Посему вопрос: каким образом работает key/mouse и sendkey/sendmouse? Насколько я понимаю и то, и то использует WinAPI. Тогда почему key срабатывает, а sendkey только один раз и выбивает окно? Как можно это вылечить или как то обойти, чтобы посылать в свёрнутое окно и при этом не выбивало его?
2. Zireael - 05 Января, 2019 - 02:23:29 - перейти к сообщению
 Цитата:
в свёрнутое окно посылаю "sendkey()" или "sendmouse()"

sendmouse в л2 не работает. Если и работало бы то в в перекрытое окно, но не свёрнутое.
sendkey должно работать, может всё-таки есть какая-то защита.
3. askauser - 06 Января, 2019 - 03:22:10 - перейти к сообщению
есть в кибор многопоточность ?
4. Kibor - 06 Января, 2019 - 04:35:45 - перейти к сообщению
 askauser пишет:
есть в кибор многопоточность ?

Нет. Таймеры есть.
5. dervis - 13 Января, 2019 - 09:32:17 - перейти к сообщению
столкнулся с аналогичной проблемой с нажатием мыши или клавиши но в другой игре.

суть - всплывает окно, в нем две кнопки - ок и отмена, если нажать Enter - по умолчанию идет клик по "ок". это если нажимать физически клавиатурой, ну или мышью по окей. клавитатурой если прожать быстро - все работает корректно, прям моментально со скоростью меньше секунды.

теперь о коде... я бился лбом двое суток пытаясь выслать RETURN или 13 через sendkey, keydown/keyup и так далее с указанием двойного нажатия, одинарного, проверки активности окна, принудительного активировании окна.

при посылании всплывающее окно закрывается, мол все типа окей - но по факту не происходит технического нажатия этой клавиши(как будто бы я вобще ескейп выслал). тоже самое и с мышью, пробовал и в активное и в неактивное окно. просто упоролся но кое как получилось сэмулировать требуемое действие только через mousedown/mouseup c офигенной задержкой между ними. данная задержка вобще не устраивает так как физически сам прожимаешь эту кнопку в 100 раз быстрее.

что самое смешное, что когда пробуешь данное действие сам, физически клавиатурой, то действие всегда завершается успешно с обработкой прожатия, когда делаешь через код - не работает(точнее якобы работает но клиент не хочет технически обрабатывать данное действие).

есть ли у кого-нибудь идеи почему такое происходит и как это обойти???

Powered by ExBB FM 1.0 Final