Pywinauto

Latest version: v0.6.8

Safety actively analyzes 682471 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

0.6.1

--------------------------------------------------------------------
08-February-2017
* ``win32_hooks`` module is well tested and more reliable now.
See `detailed example`_.

.. _`detailed example`: https://github.com/pywinauto/pywinauto/blob/master/examples/hook_and_listen.py

* Fixed several bugs and crashes here and there.

- Crash when ctrl.window_text() becomes None at the right moment. Thanks mborus_!

.. _mborus: https://github.com/mborus

- ``HwndWrapper.set_focus()`` fails when used via interpreter. Thanks `Matthew Kennerly`_!

.. _`Matthew Kennerly`: https://github.com/mtkennerly

- Fix LoadLibrary call error on just released Python 2.7.13. Thanks `Kirill Moizik`_!

.. _`Kirill Moizik`: https://github.com/KirillMoizik

- AttributeError: WindowSpecification class has no 'CPUUsage' method.

- ``comtypes`` prints a lot of warnings at ``import pywinauto``.

- Methods ``is_dialog()`` and ``restore()`` are missed for UIA backend.

- Method ``print_control_identifiers()`` crashes on some applications with Unicode symbols.

- Installation by ``python setup.py install`` may fail if pyWin32 dependency was installed manually.

- Bug in resolving attributes: 'UIAWrapper' object has no attribute 'Menu' for ``dlg = app.Custom.Menu``

- Method ``send_chars()`` can now send ``{ENTER}`` to some applications. Thanks `Max Bolingbroke`_!

.. _`Max Bolingbroke`: https://github.com/batterseapower

* Searching UI elements is faster now especially if you use ``control_type`` or ``auto_id`` in
a WindowSpecification. Method ``Application.kill()`` is also optimized in many cases.

* Added an `example for Win10 Calculator`_.

.. _`example for Win10 Calculator`: https://github.com/pywinauto/pywinauto/blob/master/examples/win10_calculator.py

0.6.0

--------------------------------------------------------------------
30-October-2016
* This big release introduces MS UI Automation (UIA) support:

- Just start from ``app = Application(backend='uia').start('your_app.exe')``.

- Supported controls: Menu, Button/CheckBox/RadioButton, ComboBox, Edit,
Tab control, List (ListView), DataGrid, Tree, Toolbar, Tooltip, Slider.

* Documentation is built continuously now on ReadTheDocs. See also improved
`Getting Started Guide`_.

.. _`Getting Started Guide`: getting_started.html

* New multi-backend architecture makes implementation of new platforms support
easier in the future. The minimal set for new backend includes its name and
two classes inherited from :py:class:`.element_info.ElementInfo` and from
:py:class:`pywinauto.base_wrapper.BaseWrapper`. New backend must be
registered by function :func:`pywinauto.backend.register()`.

* Code style is much closer to PEP8: i.e. ``click_input`` should be used
instead of ``ClickInput``.

* Initial implementation of the ``win32_hooks`` module. Keyboard and mouse event
handlers can be registered in the system. It was inspired by pyHook, pyhk,
pyhooked and similar modules, but re-written from scratch. Thanks for
Max Samokhvalov! The fork of the ``win32_hooks`` module is used in pyhooked 0.8
by Ethan Smith.

* A lot of small improvements are not counted here.

0.5.4

--------------------------------------------------------------------
30-October-2015
* Fix bugs and inconsistencies:

- Add `where="check"` possible value to the ListViewWrapper.Click/ClickInput` methods.

- Add `CheckByClickInput` and `UncheckByClickInput` methods for a plain check box.

- Fix crash while waiting for the window start.

* Add partial MFC Menu Bar support. The menu bar can be interpreted as a toolbar. Items are clickable by index through experimental `MenuBarClickInput` method of the `ToolbarWrapper`.

* Python 3.5 is supported.

0.5.3

--------------------------------------------------------------------
25-September-2015
* Better backward compatibility with pywinauto 0.4.2:

- support Unicode symbols in the ``TypeKeys`` method again;

- allow ``SetEditText/TypeKeys`` methods to take non-string arguments;

- fix taking Unicode parameters in ``SetEditText/TypeKeys``.

* Fix bug in ``Wait("active")``, raise a SyntaxError when waiting for an incorrect state.

* Re-consider some timings, update docs for the default values etc.

* Fix several issues with an owner-drawn menu.

* ``MenuItem`` method ``Click`` is renamed to ``ClickInput`` while ``Click = Select`` now.

* New ``SetTransparency`` method can make a window transparent in a specified degree.

0.5.2

------------------------------------------------------------------
07-September-2015

* New Application methods: ``CPUUsage`` returns CPU usage as a percent (float number),
``WaitCPUUsageLower`` waits until the connected process' CPU usage is lower than
a specified value (2.5% by default).

* A new class ``_listview_item``. It is very similar to ``_treeview_element``.

* Add DPI awareness API support (Win8+). It allows correct work when all fonts
are scaled at 125%, 150% etc (globally or per monitor).

* "Tools overview" section in docs.

* Fix number of bugs:

- ``TreeViewWrapper.Select`` doesn't work when the control is not in focus.

- ``TabControlWrapper.Select`` doesn't work in case of TCS_BUTTONS style set.

- ``ListViewWrapper`` methods ``Check/UnCheck`` are fixed.

- Toolbar button: incorrect access by a tooltip text.

- Warning "Cannot retrieve text length for handle" uses print() instead of actionlogger.

- ``ClientToScreen`` method doesn't return a value (modifying mutable argument is not good practice).

0.5.1

------------------------------------------------------------------
13-July-2015

* Resolve pip issues

* Warn user about mismatched Python/application bitness (64-bit Python
should be used for 64-bit application and 32-bit Python is for 32-bit app)

* Add "TCheckBox" class name to ButtonWrapper detection list

* Fix ``DebugMessage`` method

* Disable logging (actionlogger.py) by default, provide shortcuts:
``actionlogger.enable()`` and ``actionlogger.disable()``. For those who are
familiar with standard ``logging`` module there's method
``actionlogger.set_level(level)``

Page 2 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.