Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация
 
dmitr_111
Форумчанин
34 / 21 / 1
Регистрация: 13.03.2011
Сообщений: 207
30.07.2013, 06:34     Как в pywinauto кликнуть по определенным координатам?   #1
Дано:
Python 2.7
модуль pywinauto для данной версии
Задача:
Кликнуть по заранее известным координатам экрана.

P.S. скрин попытки реализации данной операции прилагается.
P.P.S Python знаю не очень хорошо, поэтому мог допустить ошибку.
Миниатюры
Как в pywinauto кликнуть по определенным координатам?  
AdAgent
Объявления
30.07.2013, 06:34    Как в pywinauto кликнуть по определенным координатам?
dondublon
Форумчанин
795 / 482 / 27
Регистрация: 17.03.2012
Сообщений: 3,167
Записей в блоге: 2
30.07.2013, 11:32     Как в pywinauto кликнуть по определенным координатам?   #2
Написано, что нет такого метода.
(Кстати, картинку необязательно, можно было просто текст скопировать.)
Подозреваю, что никак (бегло просмотрев документацию). Уж конечно, не в контролах это искать.
dmitr_111
Форумчанин
34 / 21 / 1
Регистрация: 13.03.2011
Сообщений: 207
31.07.2013, 09:51  [ТС]     Как в pywinauto кликнуть по определенным координатам?   #3
Может быть подскажете, как можно кликнуть по определенным координатам?
Буду рад увидеть простейший пример.
dondublon
Форумчанин
795 / 482 / 27
Регистрация: 17.03.2012
Сообщений: 3,167
Записей в блоге: 2
31.07.2013, 09:59     Как в pywinauto кликнуть по определенным координатам?   #4
Есть подвиндой - подключаем pywin32 и вызываем нужные winapi-функции. Для установки курсора - SetCursorPos, для клика не в курсе, но должно что-то быть (аналог SendKeys для клавиатуры).

Добавлено через 3 минуты
Или еще, как вариант подвиндой.
Получить окно и отправить ему сообщение.
Код C++
1
2
      if ((window = WindowFromPoint (p)) != NULL)
            PostMessage (window, WM_LBUTTONDOWN, 0, 0);
dmitr_111
Форумчанин
34 / 21 / 1
Регистрация: 13.03.2011
Сообщений: 207
31.07.2013, 13:16  [ТС]     Как в pywinauto кликнуть по определенным координатам?   #5
Цитата Сообщение от dondublon Посмотреть сообщение
Или еще, как вариант подвиндой.
Получить окно и отправить ему сообщение.
Код C++
1
2
      if ((window = WindowFromPoint (p)) != NULL)
            PostMessage (window, WM_LBUTTONDOWN, 0, 0);
Насколько я понял, создаем микроскопическое окошко в определенных координатах и кликаем по этому окошку?
AdAgent
Объявления
31.07.2013, 13:16    Как в pywinauto кликнуть по определенным координатам?
dondublon
Форумчанин
795 / 482 / 27
Регистрация: 17.03.2012
Сообщений: 3,167
Записей в блоге: 2
31.07.2013, 15:32     Как в pywinauto кликнуть по определенным координатам?   #6
Нет, мы получаем окно на экране по точке. Точнее - его хендл, HWND.
Любая точка на экране принадлежит какому-то окну. И этому окну говорим "левой кнопкой мыши вниз"

Добавлено через 2 часа 10 минут
Ещё есть функция SendInput.
dmitr_111
Форумчанин
34 / 21 / 1
Регистрация: 13.03.2011
Сообщений: 207
31.07.2013, 17:40  [ТС]     Как в pywinauto кликнуть по определенным координатам?   #7
А можно небольшой пример с функцией SendInput? Кликнуть по точке с координатами (10, 10).
dondublon
Форумчанин
795 / 482 / 27
Регистрация: 17.03.2012
Сообщений: 3,167
Записей в блоге: 2
31.07.2013, 18:06     Как в pywinauto кликнуть по определенным координатам?   #8
Нет, с pywin32 пока работать не довелось. Смотри официальную доку.
Yandex
Объявления
31.07.2013, 18:06    Как в pywinauto кликнуть по определенным координатам?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему
Опции темы

Текущее время: 17:48. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.