22

AutoIt3 COMバージョンがあると述べたこの投稿を見たことがあります。これを使用すると、PythonでAutoIt関数を呼び出すことができます。

AutoItのWebサイトでCOMバージョンが見つかりませんでした。どこかに隠されていますか?どうすれば入手できますか?

4

2 に答える 2

40

PythonでAutoItXCOM/DLLを使用する方法

PythonでAutoItを使用するには、次の2つの方法があります。

  1. pyautoitモジュール
  2. Windows拡張用のPython(pywin32)

pyautoitモジュールはDLLを利用しますが、pywin32ではCOMを使用できます。私の知る限り、この2つに機能的な違いはありません。

前提条件

  1. Pythonのインストール。
  2. AutoItのインストール。
  3. pyautoitまたはpywin32のいずれかのインストール。

すべてのAutoIt機能がCOM/DLLインターフェースを介して利用できるわけではありません。機能を確認するには、AutoItXのヘルプファイルを参照してください。

Pyautoit

pipまたはお好みの方法でインストールします。

pip install -U pyautoit

エラーが発生した場合:WindowsError: [Error 193] %1 is not a valid Win32 applicationpyautoitをインストールするときは、32ビットバージョンのpythonを使用してください。64ビットバージョンのPythonを使用してpyautoitをインストールすることができませんでした。もちろん、マイレージは異なる場合があります。

インポートして使用する:

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")

autoitコマンドはすべて、AutoItXが推奨するCamelCaseではなく、lower_case_with_underscoresを使用します。したがって、ControlSendはcontrol_sendになり、WinCloseはwin_closeになります。

Pywin32

pywin32がインストールされたら、次の方法でAutoItX関数を呼び出します。

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

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

このバージョンで問題が発生した場合は、すべてを32ビットとしてインストールして再試行してください。

于 2012-02-21T03:05:39.953 に答える
10

AutoItX.dllデフォルトのインストールでAutoItX3_x64.dllは、「AutoItX」というディレクトリに含まれています。詳細については、そのディレクトリのヘルプファイルAutoItX.chmを確認してください。

于 2010-07-21T17:26:36.420 に答える