IF NOT A_IsAdmin ; Runs script as Admin.
{
Run *RunAs "%A_ScriptFullPath%"
ExitApp
}
#MaxThreadsPerHotkey, 2
CoordMode, Pixel, Screen
#singleInstance, Force
toggle = 0
upperLeftX := 750
upperLeftY := 400
lowerRightX := 850
lowerRightY := 500
F8:: ; press F8 to toggle the loop on/off.
SoundBeep
Toggle := !Toggle
While Toggle
{ ;-- Begin of loop.
PixelSearch, X, Y,%upperLeftX%, %upperLeftY%, %lowerRightX%, %lowerRightY%, 0x000000, 0, Fast RGB
IF ErrorLevel = 1 ; IF NOTFound.
{
sleep, 100
}
IF ErrorLevel = 0 ; IF Found.
{
MouseClick, left
sleep, 300
}
} ;-- End of Loop.
return
F8开始循环,此代码检查矩形中的特定像素并发送左键单击。
适用于[MouseClick, left, %X%, %Y%]
。但我想知道如何使用 dllcall鼠标事件点击特定像素。
例如
DllCall("mouse_event",uint,1,int,%X%,int,%Y%,uint,0,int,0)
但它不起作用
答案 0 :(得分:0)
我怀疑你真的想通过DLL调用来做这件事。 mouse_event甚至不采用坐标,但值在0-65535之间
如果您希望能够点击屏幕上的任何像素,请确保将其设置为相对于屏幕:CoordMode, Mouse, Screen
如果您不想通过该点击影响鼠标指针,请使用ControlClick
/ PostMessage
/ SendMessage
。或者使用MouseClick
/ Click
。或MouseMove+Send, {LButton}
。