見出し画像

chkimgx が bitblt 失敗エラーを吐く

Windowsでの定型処理を自動化するのに、ずいぶん前から UWSC を使っている。chkimgx という画面認識プラグインを追加すると超便利。スクレイピングを含めた、いろんな自動処理が簡単にできてしまう。

今ならもっと洗練された処理系があるが、UWSC は導入が簡単なのでちょっとしたことならこちらを使っている。onedrive の共有ディレクトリにスクリプトをバイナリごと保存しておけば、複数の PC で環境を共有できるのも嬉しいところ。すばらしいツール。

ただ、この UWSC、残念ながら更新が止まっているので、最近の Windows とかで使われだした新し目の機能との相性に難がある。

特に問題なのが、100% 以外の表示スケールに対応していないところ。表示スケールを 125% とか設定している画面上で Window ID を指定してウィンドウの右端に近い領域の認識処理をさせると bitblt 失敗とかのエラーが起きることがある。どうやらウィンドウの物理サイズと論理サイズのスケール差の処理にバグがあるらしく、引き伸ばして大きくなった領域への認識処理がおかしくなる模様。

表示スケール 100% の PC で作ったスクリプトが他の PC で動かないという現象があり一晩悩んだのだが、スクリプトが動かない PC の表示スケールを推奨値の 125% から 100% に変更したら動いたのでこういうことなんだろう。

とりあえず、考える人になってもこれ以上はどうしようもなさそうなので、表示スケール 100% で動かしましょうということで当面は凌ぐことにしました。

この記事が気に入ったらサポートをしてみませんか?