Ann: pywinauto 0.1.1 (initial release) released

Mark Mc Mahon mark.m.mcmahon at
Thu Jan 12 23:07:07 CET 2006

I'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"Typíng söme tèxt\r\n2nd lïne")

# 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="">pywinauto 0.1.1</A>
Simple Windows GUI automation with Python. (12-Jan-06)

More information about the Python-announce-list mailing list