Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 19, 2017 14:08:28

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Как передать нажатия клавиш не активному окну?

Deon
чет нефига не получается отправить команду нажать пробел в течении 1.5 сек, ни ошибок ничего просто команда исполнена
А вот тут мы вступаем на зыбкую почву предположений и догадок. Поскольку мы знаем о этой программе чуть менее чем ничего, то не факт что она вообще скушает хоть чтото переданое таким путем. Вам по моему, уже ктото говорил что там может быть встроена банальная зашита от такого.
Поэтому вам придеться все искать опытным путем.
Для начала сдлать PostMessage не в hwndChild а в hwnd . ну мало ли…
Вторым этапом вам нужно получить список всех дочерних окон даного приложения через win32gui.EnumChildWindows, В примере блокнота мы брали самое верхнее в z-order, (win32con.GW_CHILD -именно на это указывает). ХЗ как устроена ваша рыбалка, и возможно нужно послыть сообщения не в самое врхнее окно, а в какоето другое …
Так что тут уже вам мало кто может помочь, только метод тыка.

PS чето сначала не понял суто проблемы, но не буду удалять МБ еще пригодиццо.
Реально же таким макаром удерживание клавиши вы не пердадите,
попробуйте или передать четвертым параметром к-во нажатий например такая комманда win32api.PostMessage(hwndChild, win32con.WM_KEYDOWN, 0x20, 100) отправит 100 пробелов подряд окну
или передавать непрерывно сигнал win32api.PostMessage(hwndChild, win32con.WM_KEYDOWN, 0x20, 0) в течении полутора секунд



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Сен. 19, 2017 14:32:55)

Офлайн

#2 Сен. 19, 2017 15:23:19

Deon
Зарегистрирован: 2016-12-09
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Как передать нажатия клавиш не активному окну?

PEHDOM
рыбалка стимовская, дочерних окон нет оно одно банальный кликер который я собрал работает а вот так чот не работает, да опытный путь извилист и долог но ещебы вразумительные примеры использования и документацию а то документация там черт ногу сломит нифига не понимаю, помню так с селениумом любовью занимался но там инфы больше чем по winapi

Офлайн

#3 Сен. 19, 2017 16:09:40

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Как передать нажатия клавиш не активному окну?

Deon
рыбалка стимовская, дочерних окон нет
Это вам так кажеться, даже у того же блокнота два “дочерних окна” .
банальный код
 import win32gui
def callback(hwnd, lparam):
    print(hwnd)
hwndMain = win32gui.FindWindow("Notepad", None)
win32gui.EnumChildWindows(hwndMain, callback, None)
выдаст чтото типа такого
>>>
1511586
1446048
>>
это два хендла на два “дочерних окна”, просто эти окна являються частью “основного окна”, и для конечного пользователя представляються одним окном.
А winapi очень хорошо документирован на том же MSDN.
например PostMessage https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms644944%28v=vs.85%29.aspx
Все расписано, какой параметр за что отвечает, и какие значения может прнимать.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#4 Сен. 19, 2017 20:13:56

Deon
Зарегистрирован: 2016-12-09
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Как передать нажатия клавиш не активному окну?

PEHDOM
Мне гугл не дал этого;( ладно попробую почитать

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version