Ann: pywinauto 0.1.1 (initial release) released

Ann: pywinauto 0.1.1 (initial release) released

Post by Mark Mc Ma » Sat, 14 Jan 2006 07:07:07

'm pleased to announce the first public release of pywinauto 0.1.1

pywinauto is a set of open-source (LGPL) modules for using Python as a GUI
automation 'driver' for Windows NT based Operating Systems (NT/W2K/XP).

SourceForge project page:

Download from SourceForge

pywinauto-users mailing list

pywinauto was nudged into existence by the creation of Watsup
( a similar tool based on
Simon Brunning's (

There are many similar tools that do this (see:
So how is pywinauto different?
It is still in early stages of development (but is about as functional as
many of the other automation tools).

I think I have designed pywinauto in such a way that it should be easy
to add new actions for Controls. For example imagine

# 10th item on 1st level, 21st item on 2nd, 45th on 3rd

# Or Possibly (or even both!)
TreeView.Select(path_re = "Desktop\\.*\\.*c:\\Temp")

It supports Typing accented/Unicode text (by sending them to the text
area directly - rather then using SendKeys which does not appear to
handle extended/Unicode text well.

It does not require previous analysis of the dialogs to be automated or
for 'reference' information to be saved.

I have also kept in mind that to have language neutral scripts is more
or less impossible - but I am planning to enable a flag that would enable
lookup in previously saved reference information (saved during development
of the script probably) that should enable scripts to run unmodified.
(At least that's the idea - though there are cases where sorting - e.g.
listboxes - might make that impossible).

There is currently no documentation and the examples do double duty as
tests. I am hoping to improve this. Any interest in my first publicly
release code would help my ego greatly :-)

(Optional) PIL
(Optional) elementtree

Very simple test of Notepad automation (notice no time.sleep() ;-)

----------------------- :< -----------------------
import application

app = application.Application()


# ----- Page Setup Dialog ----
# Select the 'Letter' combobox item

# Now close the dialog
app.PageSetupDlg.Ok.Click ()

# type some text
app.Notepad.Edit.SetText(u"Typg se tt\r\n2nd le")

# Close Notepad (and don't save)
app.Notepad.No.Click ()
----------------------- :< -----------------------

pywinauto makes significant use of ctypes, I would like to extend my thanks
to Thomas Heller and the whole Python community for producing such
intuitive tools!

Thank you

Mark Mc Mahon
24 Plummer Rd., Manchester, NH 03110, USA

<P><A HREF="

Ann: pywinauto 0.1.1 (initial release) released

Post by Mark Mc Ma » Tue, 17 Jan 2006 10:19:43

The 2nd release of pywinauto is now available.

Download it from the Files section of SourceForge for the project:

Relevant Changes:
* Updated Readme (original readme was incorrect)
* Added clipboard module
* Fixed DrawOutline part of tests.__init__.print_bugs
* Added a NotifyParent to HwndWrapper
* Make sure that HwndWrapper.ref is initialized to None
* Refactored some methods of ComboBox and ListBox
* Updated Combo/ListBox selection methods
* Removed hardcoded paths from
* Added section to save the document as UTF-8 in MinimalNotepadTest
* Fixed EscapeSpecials and UnEscapeSpecials in XMLHelpers
* Made sure that overly large bitmaps do not break XML writing

SourceForge project page:

Thank you

Mark Mc Mahon
24 Plummer Rd., Manchester, NH 03110, USA

<P><A HREF=" ">pywinauto 0.1.2</A>
Simple Windows GUI automation with Python. (15-Jan-06)