2025年3月26日水曜日

SendKeysとAppActivateの組み合わせでRPAを実現してみたが、マウスカーソルを当てないと動かせないアプリがいる。

マウスのカーソル(矢印)を当てなくても、TABキーやENTERキーを叩けば動くアプリは、SendKeysで自動運転することができる。
しかしながら、マウスのカーソル(矢印)を当てないと動かないアプリがある。
そういう場合には、WindowsAPIのSetCursorPos関数とmouse_event関数をつかう。
厄介なのは、マウスのカーソルの座標をどうやって取得するかである。
Windowsアクセサリのペイントは、イメージファイルを開くと、マウスのカーソルの座標を画面左隅に出力してくれる。これを利用してクリックしたいボタンの座標を求めればよい。そこで、まず、クリックしたいアプリの画面をアクティブにして、print screen キーを押下する。そして、ペイントを開いて。その画像をペーストする。次に画像を拡大し、座標を調べたい場所にカーソルを合わせる。すると、ペイントの画面左隅にX座標とY座標を表示されるのである。

0 件のコメント:

コメントを投稿