民芸的プログラミング 〜ソフトウェア開発日記〜

アクセスカウンタ

zoom RSS AutoIt と JAVA アプリケーションの相性の悪さ

<<   作成日時 : 2009/09/06 22:30   >>

ブログ気持玉 0 / トラックバック 0 / コメント 1

AutoIt がかなり使えそうなので意気揚々ということで、早速、適当に書いていた JAVA アプリケーションのテストに使ってみようとした。
ここで困ったことが起こった。

相手が普通の Windows アプリケーションならば、AutoIt を使うことで、コントロール上に表示されている文字列を読み取ったり、あるいはテキストボックスに文字列を入力したりすることができる。
ところが、JAVA アプリケーションの場合は、そうはいかない。

AutoIt にはいくつか便利なアプリケーションが付属している。その中に「Au3Info.exe」というのがある(AutoIt3.exe と同じフォルダにインストールされる)。
普通の Windows アプリケーションでは、ボタンやテキストボックスなど、表示されていることごとくのパーツがコントロールと呼ばれるウィンドウの一種となっている。
Au3Info.exe を使うことで、Windows の画面上に表示されているコントロールの名称や座標などを簡単に取得することができるのだ。
そして、コントロールの名称やIDが分かれば、ControlSetText や ControlGetText で文字列を入力していったり、表示されている文字列を確認したりすることができる。

一方で、Swing を使った JAVA アプリケーションの場合、アプリケーションの Window 全体が一個のコントロールになってしまっている。
(実際は、Au3Info.exe を使って初めて知ったのだが)
ボタンやラベルは、すべてグラフィックスが描かれている。Windows 標準のコントロールは使われていない。
Au3Info.exe を使用しても、アプリケーションウインドウ一個のIDが取得できるだけなのだ。
なので、コントロールを直接指定する、ControlSetText や ControlGetText のようなコマンドが使えない。

面白くないが、JAVA アプリケーションでは、画面上の座標を頼りに、MouseMove と Send をひたすら繰り返してアプリケーションを操作するしかない。
文字列を取得したければ、クリップボード経由しか手がない。なので、クリップボードにコピーできない画面上の文字列は取得することができない。

何とも嫌な制約だが、かといって、AutoIt を使わないと、もっと面倒になるので、結局は、AutoIt を使い続けることになるのだろう。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(1件)

内 容 ニックネーム/日時
UWSCというソフトはJAVAアプリを操作できますよ。
自動化ソフト物色中
2012/03/06 11:01

コメントする help

ニックネーム
本 文
AutoIt と JAVA アプリケーションの相性の悪さ 民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる