PyAutoIt

一、简介

PyAutoIt包提供了AutoIt的python接口。AutoIt是用来针对window程序进行自动化操作的一款程序,拥有自己的脚本语言,底层基于win32Api

二、安装问题

在64位机器上,且使用64位python,pip install PyAutoIt的过程
中,可能会报如下错误:

OSError: [WinError 193] %1 不是有效的 Win32 应用程序。

三、解决方法

下载包,然后手动安装
下载PyAutoIt包,解压进入目录,找到目录中的setup.py文件
在该文件的15行左右,有一行代码

dll = "AutoItX3.dll"

这行代码就是我们报错的原因,64位系统\Python用的应该是AutoItX3_x64.dll,所以把这行代码改过来就行了

dll = "AutoItX3_x64.dll"

改完后保存,运行命令:

python setup.py install

即可安装成功

四、扩展

可以注意到,在刚才改过代码下面,有一个if判断:

bit, _ = platform.architecture()
if "(x86)" in os.environ['PROGRAMFILES'] and bit == "64bit":
    # if 64bit version of python within 64bit version of Windows,
    # load AutoItX3_x64.dll
    dll = "AutoItX3_x64.dll"

在交互式命令行中运行:

os.environ['PROGRAMFILES']

会发现结果是:

C:\Program Files

32位系统是:

C:\Program Files (x86)

所以问题应该出if的第一个条件中,大概率是作者的源码写错了,导致在64位平台下无法正确引用对应位数的dll

你可能感兴趣的:(PyAutoIt)