NOX_ADBで裏マクロ by UWSC
いわゆる「裏マクロ」、フォーカスの乗っていない窓(NOX)目掛けてマウス操作的なコマンドを送ります
ついでにコマンドによってマウスカーソル持ってかれることも無くなるのでなにかと捗る訳です
残念ながらWin10環境ではUWSC機能による裏マクロ化はかなり困難となり、代わりに紹介されているのがNOX_ADBなるツール
本家はアンドロイド端末の開発ツールって事らしいのですがNOXをアンドロイド端末と見立てて同様の機能を持たせたものがNOX_ADBとなります、裏から色々ゴニョゴニョ出来る機能として画面(マウス)操作コマンド一式も含まれています
詳しい使い方は先人の記事をあたっていただくとして超えるハードルは2つ
・NOX本体とNOX_ADBの接続
・NOX_ADBによる各種コマンドのUWSCからの実行
接続とは具体的には操作コマンド送出時に目的のNOXを指定する方法を指します、例えばNOX画面上の点(300,300)を左クリックするのであれば
nox_adb shell input touchscreen tap 300 300
みたいな感じになります、NOX自体は複数起動しているケースもありますので
nox_adb -s 127.0.0.1:62001 shell input touchscreen tap 300 300
接続先を指定する"-s"スイッチとそれに続くIPアドレス:ポート番号が必要です、これは前もって
nox_adb devices なるコマンドで一覧出して確認しておきます、当然起動しているNOXは1つにしておかないと見わけが付かないので注意しましょう
これらのコマンドをpowershellあたりで試すのはサックリ成功しますがUWSCから引っ叩くとなると話は別
幸運にもパスが通った環境であれば苦労せずDOSCMDで呪文を唱えれば良いらしいのですが、HDDやらSSDやら増設に増設を重ねた上にあっちゃこっちゃにインストールしてる魔界のような環境では望むべくもありません
で調べた結果がこれ
cd /d D:\Program Files\Nox\bin & nox_adb -s 127.0.0.1:62001 shell input touchscreen tap 300 300
カレントディレクトリ移動とNOX_ADBコマンドを「&」で繋ぐのと「/d」スイッチ使ってドライブごと一気に移動させるのが肝でした( D:\Program Files\Nox\bin はnox_adbの場所です)
procedure adb_BTN(nox_port, X, Y, Remark = "")
CMD = "cd /d D:\Program Files\Nox\bin & nox_adb -s " + nox_port + " shell input touchscreen tap " + X + " " + Y
print Remark + " Tap X:" + X + " Y:" + Y
DOSCMD(CMD)
fendてな関数にしておくと何かと幸せです
CHKIMGXとの座標基準のズレは忘れないように補正入れましょう