目次
今のマウス位置でShiftを押すとログに座標とPEEKCOLOR値を出力する
これまでは、テキスト or 画像一致で座標を指定していたので、直接座標を指定してクリックする場面は少なかったが、2020年12月初頭のJRAホームページ変更に伴い自身のUWSCモジュール変更をするにあたり「Shiftキー」を押すと、ログに「座標位置とPEEKCOLOR値を表示する」UWSCモジュールを作成する。
UWSCで使うための仮想キー
キー表記 | 意味 |
VK_A~VK_Z | |
VK_0~VK_9 | |
VK_WIN | Windowsキー |
VK_ALT | |
VK_CTRL | |
VK_ESC | |
VK_BACK | |
VK_TAB | |
VK_RETURN | |
VK_SHIFT | |
VK_MENU | [Menu]キー |
VK_PAUSE | [Pause]キー |
VK_SPACE | |
VK_PRIOR | [PageUp]キー |
VK_NEXT | [PageDown]キー |
VK_END | [End]キー |
VK_HOME | [Home]キー |
VK_LEFT | |
VK_UP | |
VK_RIGHT | |
VK_DOWN | |
VK_SNAPSHOT | |
VK_INSERT | [Insert]キー |
VK_DELETE | [Delete]キー |
VK_MULTIPLY | [*]キー |
VK_ADD | [+]キー |
VK_SUBTRACT | [-]キー |
VK_DIVIDE | [/]キー |
VK_NUMPAD0~VK_NUMPAD9 | Numpad ~ |
VK_F1~VK_F12 | |
VK_NUMROCK | [NumLock]キー |
VK_SCROLL | [ScrollLock]キー |
VK_START | [Windows]キー |
VK_RCTRL | |
VK_RSHIFT | |
VK_CONTROL | |
VK_CAPITAL | [CapsLock]キー |
VK_KANA | 半角キー |
VK_KANJI | 全角キー |
VK_CONVERT | 変換キー |
VK_NONCONVERT | 無変換キー |
座標取りは、その画面で唯一の文字(文字列)を取り出すのが一番簡単
UWSCだろうとPythonだろうと、このやり方がスクレイピングやクリック指定では一番簡単な方法。文字列そのものがボタンやリンクになっている場合は、取得した位置そのまま座標に使えるし、そこから+ーでの座標位置をしクリックするにしても、既に文字(文字列)がガイドの役割をするので、後からプログラムを見てもとても修正しやすい。
今のマウス位置でShiftを押すと座標とPEEKCOLOR値を出力するサンプル
そのままコピペして使えるはず。
//log板を消去
sendstr(getid(GET_LOGPRINT_WIN), EMPTY, 1, TRUE)
// Shiftキーが押されたらマウス座標(x,y)と「PEEKCOLOR値とLength」を print
timer=0.2
while 1
if keyboard_enter() = 1 then
x=G_MOUSE_X
y=G_MOUSE_Y
PRINT "マウスカーソルの座標"
PRINT "x:" + X + " y:" + Y
print "PEEKCOLOR:" + PEEKCOLOR(x,y) + " len:" + length(PEEKCOLOR(x,y))
sleep(timer)
endif
wend
// サブルーチン
// Shiftキーが押されたら 1 が返る
Function keyboard_enter()
Result = 0
timer=0.2
sleep(timer)
while 1
if GETKEYSTATE(VK_SHIFT)
Result = 1
Exit
endif
sleep(timer)
wend
Fend
PEEKCOLOR値2点一致で範囲を区切ることも可能になる。
これでUWSC+Chrome,UWSC+新Edgeでも全ての画面クリックは可能になるはずだ。
編集後記
それでは、またね~😎