Calling AutoIt Functions in Python [closed]
Asked Answered
E

2

22

I have seen this post mentioned there is an AutoIt3 COM version, and with it I can call AutoIt functions in Python.

I couldn't find the COM version at the AutoIt website. Is it hidden somewhere? How can I get it?

Educatee answered 21/7, 2010 at 16:28 Comment(0)
S
40

How to use AutoItX COM/DLL in python

There are two methods for using AutoIt in Python:

  1. pyautoit module
  2. python for windows extentions (pywin32)

The pyautoit module will make use of the DLL while with pywin32 we can use the COM. As far as I know, there is no functional difference between the two.

Prerequisites

  1. An installation of python.
  2. An installation of AutoIt.
  3. An installation of either pyautoit or pywin32.

Not all AutoIt functions are available through the COM/DLL interface. To see which functions are, see the help file on AutoItX.

Pyautoit

Install via pip or your preferred method:

pip install -U pyautoit

If you get an error: WindowsError: [Error 193] %1 is not a valid Win32 application when installing pyautoit, use the 32 bit version of python. I haven't been able to get pyautoit to install using the 64 bit version of python. Of course, your mileage may vary.

Import and use:

import autoit

autoit.run("notepad.exe")
autoit.win_wait_active("[CLASS:Notepad]", 3)
autoit.control_send("[CLASS:Notepad]", "Edit1", "hello world{!}")
autoit.win_close("[CLASS:Notepad]")
autoit.control_click("[Class:#32770]", "Button2")

The autoit commands all use lower_case_with_underscores rather than AutoItX's preferred CamelCase. Thus ControlSend becomes control_send, WinClose becomes win_close, etc.

Pywin32

Once pywin32 is installed, call AutoItX functions by:

import win32com.client
autoit = win32com.client.Dispatch("AutoItX3.Control")

autoit.Run("NotePad.exe")
autoit.ControlClick(WINDOW, "", "[CLASSNN:TTreeView1]", "left", 1, 53, 41)

If you have trouble with this version, install everything as 32 bit and try again.

Sokol answered 21/2, 2012 at 3:5 Comment(2)
Do you know where to find PyAutoIt documentation or tutorial?Iodize
@Iodize I'm not sure if this s still any help but I found this AutoItX COM/DLL documentation: documentation.help/AutoItXPaediatrics
M
10

AutoItX.dll and AutoItX3_x64.dll are included in the default installation, in a directory called "AutoItX". Check out the help file AutoItX.chm in that directory for more info.

Monniemono answered 21/7, 2010 at 17:26 Comment(2)
in windows 7 run cmd as administrator go to AutoItX.dll and execute regsvr32.exe AutoItX3.dllCharlsiecharlton
also run regsvr32.exe AutoItX3_x64.dll .Might be helpful.Swee

© 2022 - 2024 — McMap. All rights reserved.