Найти - Пользователи
Полная версия: Как получить идентификатор текущего окна в Windows?
Начало » Python для новичков » Как получить идентификатор текущего окна в Windows?
1 2
Андрей Светлов
ZeroOne
Там в качестве параметра передаётся же имя заголовка окна без пробелов. А все параметры же на английском должны быть.
Что, где и куда передается? Хотел сказать: “По фотографии - не лечим”. А тут даже того нет.
ZeroOne
pywinauto разве может узнать handle?
А как, по вашему, эта штука работает без handle? Попущением божьим?
ZeroOne
Андрей Светлов
ZeroOne
Там в качестве параметра передаётся же имя заголовка окна без пробелов. А все параметры же на английском должны быть.
Что, где и куда передается? Хотел сказать: “По фотографии - не лечим”. А тут даже того нет.
ZeroOne
pywinauto разве может узнать handle?
А как, по вашему, эта штука работает без handle? Попущением божьим?
И зачем хамить?
Андрей Светлов
ZeroOne
И зачем хамить?
Вы усложняете мою добровольную попытку помочь, отказываясь предоставить более или менее исчерпывающую информацию об ошибке.
А я не платная техподдержка, чтобы облизывать уважаемого клиента, попутно развлекая и исполняя невысказанные желания.
Вежливость в разговоре соблюдаю, но пуховыми подушками (дабы не уронить чужое эго) никого обкладывать не собираюсь. Разницу ощущаете?
Следующим шагом получаю обвинение в хамстве. Это, знаете ли, неожиданно и очень резко. Вы всегда так общаетесь, или только с заочными собеседниками?

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

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

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

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

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

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/
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB