- 締切済み
UWSCによる色識別がWin7だとできない
UWSCでPEEKCOLORを使い、指定した座標の色を識別して、キーを押すといった動作をさせたいのですが、 XPのPCだと正常に動作するのに、Win7のPCになると何も動作が起きず上手くいきません。 同じスクリプト文を使用しているにも関わらず、Win7だと動作起きないのは、色を識別する方法が異なるのでしょうか? 動作文は以下の通りです。 While True ifb PEEKCOLOR(198,68) = $845539 then Kbd(VK_F4,DOWN,30) Kbd(VK_F4,UP,30) else Endif ifb PEEKCOLOR(198,56) = $845539 then Kbd(VK_F5,DOWN,30) Kbd(VK_F5,UP,30) else Endif WEND 色を調べる方法として、WinXP・7共に次のものを使用しました。 OLD_X = 0 OLD_Y = 0 OLD_COLOR = 0 while TRUE WIN_ID = GetID(GET_ACTIVE_WIN) MOUSEORG(WIN_ID) BASE_X = STATUS(WIN_ID, ST_X) BASE_Y = STATUS(WIN_ID, ST_Y) ifb GETKEYSTATE(VK_LBUTTON) then NEW_X = G_MOUSE_X; NEW_Y = G_MOUSE_Y OFF_X = NEW_X - BASE_X; OFF_Y = NEW_Y - BASE_Y c=PeekColor(OFF_X, OFF_Y) ifb NEW_X <> OLD_X OR NEW_Y <> OLD_Y OR c <> OLD_COLOR then PRINT "X="+(OFF_X)+"/Y="+(OFF_Y)+"/赤="+(c and $FF)+"/緑="+((c and $FF00)/$100)+"/青="+((c and $FF0000)/$10000)+"/BGR値=$"+FORMAT( c,6,-1 ) endif OLD_X = NEW_X; OLD_Y = NEW_Y; OLD_COLOR = c endif sleep(1) wend 色々調べてみましたが、やはりWin7でのみ動作しなくて困っています。 原因が分かる方、助言お願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- annys2000
- ベストアンサー率48% (255/523)
UWSCの掲示板で質問したほうが早いのでは? http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi