Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 20, 2011 21:24:29

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Как получить идентификатор текущего окна в Windows?

ZeroOne
Там в качестве параметра передаётся же имя заголовка окна без пробелов. А все параметры же на английском должны быть.
Что, где и куда передается? Хотел сказать: “По фотографии - не лечим”. А тут даже того нет.
ZeroOne
pywinauto разве может узнать handle?
А как, по вашему, эта штука работает без handle? Попущением божьим?



Офлайн

#2 Апрель 21, 2011 02:14:17

ZeroOne
От:
Зарегистрирован: 2011-04-20
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Как получить идентификатор текущего окна в Windows?

Андрей Светлов
ZeroOne
Там в качестве параметра передаётся же имя заголовка окна без пробелов. А все параметры же на английском должны быть.
Что, где и куда передается? Хотел сказать: “По фотографии - не лечим”. А тут даже того нет.
ZeroOne
pywinauto разве может узнать handle?
А как, по вашему, эта штука работает без handle? Попущением божьим?
И зачем хамить?



Офлайн

#3 Апрель 21, 2011 03:34:51

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Как получить идентификатор текущего окна в Windows?

ZeroOne
И зачем хамить?
Вы усложняете мою добровольную попытку помочь, отказываясь предоставить более или менее исчерпывающую информацию об ошибке.
А я не платная техподдержка, чтобы облизывать уважаемого клиента, попутно развлекая и исполняя невысказанные желания.
Вежливость в разговоре соблюдаю, но пуховыми подушками (дабы не уронить чужое эго) никого обкладывать не собираюсь. Разницу ощущаете?
Следующим шагом получаю обвинение в хамстве. Это, знаете ли, неожиданно и очень резко. Вы всегда так общаетесь, или только с заочными собеседниками?

Совместно делаем выдох и считаем до трех. Возвращаемся к началу.

Вам нужно автоматизировать запущенное приложение. По кнопкам поклацать или еще что.
pywinauto специально создан для этой цели.
Справляется с работой хорошо.
Реализован через Windows API (вместо win32all использует ctypes, но это не важно).
Имеет достаточно удобный интерфейс.

Судя по вашему вопросу, вы не очень сильны в использовании этого самого Windows API.
Поэтому pywinauto будет хорошим подспорьем, избавив от досадных неочевидных ошибок.
С русскими буквами оно работает отлично.

Примера неработающего кода я не увидел. Увидел лишь, что “передается имя заголовка без пробелов”, причем “все параметры должны быть на английском”.
Это категорически не верно. Есть несколько способов указания. Вы просто не стали читать документацию.

Еще раз повторяю, кода — не было. Это очень неудобно и глупо — гадать об ошибке без кода.
Лечение по фотокарточке — ближайший аналог.
Тем более что у меня — всё работает (как оно зачастую и бывает).



Офлайн

#4 Фев. 5, 2012 10:10:35

swapy
От:
Зарегистрирован: 2012-02-05
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Как получить идентификатор текущего окна в Windows?

Вот пример кода для русского калькулятора

import pywinauto

pwa_app = pywinauto.application.Application()
w_handle = pywinauto.findwindows.find_windows(title_re=u'\u041a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u041f\u043b\u044e\u0441', class_name='SciCalc')[0]
window = pwa_app.window_(handle=w_handle)
window.SetFocus()
Все более чем работает.

Для облегчения разработки кода для pywinauto рекомендую воспользоваться утилитой swapy-ob - http://code.google.com/p/swapy/



Отредактировано (Фев. 5, 2012 14:04:46)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version