AutoItで3rd Party UDFを使うために必要なこと


AutoIt V3でweb pageにアクセスしてページを読んで、その内容を使って何かしらしたいという用事が出来た。

付属のFunctionにInetRead(), InetGet()などがあってこれが使えそうではあるが、ヘルプをよく読んでみると「Internet Expolorer 3以上が必要」とある。まぁ、IEが入っていないなんてことは想定しなくてもいいとは思うが、なんか気持ち悪い。

それで他の方法がないか探して見て見つけたのが「WinHTTP」というUDF(User Defined Function)。

さて、まずはヘルプに書かれているサンプルをそのまま動かしてみますかってことで、エディタに貼付けてみてもエラーになって動かない。

あぁ、Include出来ないそうだ。そらそうか。

ひろってきたファイルをAutoItがインストールされているフォルダの中の「Include」というフォルダに突っ込むという考えも一瞬よぎったが、それはなぁ。

というわけで、まじめにどうしたらいいか調べてみた。

見つかったのはこれ → 「Adding UDFs to AutoIt and SciTE

「- If you have SciTE4AutoIt3 you can use SciTEConfig – look for the User Include Dir input about 2/3 way down the dialog.」

の行に注目。
開発環境としてSciTE4AutoIt3を使っていれば、これに従って設定したらいいらしい。

「SciTEConfig」というアプリケーションが「C:\Program Files (x86)\AutoIt\SciTE\SciTEConfig」にあるので、こいつを起動し「User Include Dir」という入力欄(ウィンドウの下1/3あたりにある)に拾ってきたUDFを置いてあるフォルダを記述し、「Save+Apply」ボタンを押す。

ちなみに、次のようにフォルダを作って、それを指定した。
「C:\Users\Public\Development\AutoIt\Include」
(Includeの下にWinHTTPというフォルダを作って、その中にWinHTTPの定義ファイルなどを置いたが、読んではくれなかった)

これで設定が出来た。

実際にSciTEにサンプルスクリプトを貼付けて、実行してみるとさっきまでInclude出来ないだの、Functionが定義されてないだのと文句を言っていたが、だまって実行してくれるようになった。


シェアする

  • このエントリーをはてなブックマークに追加

フォローする