![見出し画像](https://assets.st-note.com/production/uploads/images/53221176/rectangle_large_type_2_f3540bacbd3f73a7110b2c53d4391149.jpeg?width=1200)
Photo by
aki_zimbabwe
chkimgx が bitblt 失敗エラーを吐く
Windowsでの定型処理を自動化するのに、ずいぶん前から UWSC を使っている。chkimgx という画面認識プラグインを追加すると超便利。スクレイピングを含めた、いろんな自動処理が簡単にできてしまう。
今ならもっと洗練された処理系があるが、UWSC は導入が簡単なのでちょっとしたことならこちらを使っている。onedrive の共有ディレクトリにスクリプトをバイナリごと保存しておけば、複数の PC で環境を共有できるのも嬉しいところ。すばらしいツール。
ただ、この UWSC、残念ながら更新が止まっているので、最近の Windows とかで使われだした新し目の機能との相性に難がある。
特に問題なのが、100% 以外の表示スケールに対応していないところ。表示スケールを 125% とか設定している画面上で Window ID を指定してウィンドウの右端に近い領域の認識処理をさせると bitblt 失敗とかのエラーが起きることがある。どうやらウィンドウの物理サイズと論理サイズのスケール差の処理にバグがあるらしく、引き伸ばして大きくなった領域への認識処理がおかしくなる模様。
表示スケール 100% の PC で作ったスクリプトが他の PC で動かないという現象があり一晩悩んだのだが、スクリプトが動かない PC の表示スケールを推奨値の 125% から 100% に変更したら動いたのでこういうことなんだろう。
とりあえず、考える人になってもこれ以上はどうしようもなさそうなので、表示スケール 100% で動かしましょうということで当面は凌ぐことにしました。