Autohotkey 自动热键:逐步将光标移动到位置
我一直在为此伤脑筋: 我需要一步一步地将光标从当前位置移动到新位置,而不是通过Autohotkey 自动热键:逐步将光标移动到位置,autohotkey,mousemove,Autohotkey,Mousemove,我一直在为此伤脑筋: 我需要一步一步地将光标从当前位置移动到新位置,而不是通过MouseMove,因为它太快(即使最低速度为100)且平滑(不够随机) 我走得最远的是这条路,但我想一定有更好的办法: desX = 100 ;new position X desY = 100 ;new position Y MouseGetPos, posX, posY stepX = %desX% - %posX% stepY = %desY% - %posY% if(stepX > 0 & st
MouseMove
,因为它太快(即使最低速度为100)且平滑(不够随机)
我走得最远的是这条路,但我想一定有更好的办法:
desX = 100 ;new position X
desY = 100 ;new position Y
MouseGetPos, posX, posY
stepX = %desX% - %posX%
stepY = %desY% - %posY%
if(stepX > 0 & stepY > 0)
{
while(posX < desX & posY < desY)
{
Random, randX, -1, 1
posX := posX + randX
posX++
Random, randY, -1, 1
posY := posY + randY
posY++
MouseMove, posX, posY, 100
MouseGetPos, posX, posY
}
}
desX=100;新位置X
desY=100;新位置Y
MouseGetPos,posX,posY
步骤x=%desX%-%posX%
步骤=%desY%-%posY%
如果(stepX>0和stepY>0)
{
while(posX
这需要为每个可能的方向(例如NW、SW、NE、N)编写大量代码。我建议编写一个单独的函数,使多个鼠标移动适合起点和终点 例子
你可能需要玩游戏来获得你想要的正确的速度和时间。这只是一个线性增量示例,您可以将其更改为使用对数模型或其他模型。我建议编写一个单独的函数,使多个鼠标移动适合起点和终点 例子
你可能需要玩游戏来获得你想要的正确的速度和时间。这只是一个线性增量示例,您可以将其更改为使用对数模型或其他模型。尝试使计算机屏幕看起来像是在为展览而工作。所以,是的。为了一个展览,试着让电脑屏幕看起来像是在自己工作。有点,是的。
gradual_mousemove(end_x,end_y,time=1000,delay=10) {
;preserve settings
original_coordmode := A_CoordModeMouse
CoordMode, Mouse, Screen
MouseGetPos, start_x, start_y
;compute deltas
dx := end_x - start_x
dy := end_y - start_y
;delay ms per step
step_t := time / delay
original_mousedelay:=A_MouseDelay
SetMouseDelay, 0
loop % step_t
{
p := (A_index/step_t)
step_x := start_x + (p*dx)
step_y := start_y + (p*dy)
Click, %step_x%, %step_y%, 0 ;move without clicking
sleep, %delay%
;debug info
;ToolTip X: %step_x% Y: %step_y% P: %p% D: %delay% T: %time% S: %A_Index% / %step_t%
MouseGetPos, mx, my
if ( (mx==end_x) && (my==end_y) )
break
}
;ensure correct end point
Click, %end_x%, %end_y%, 0
;reset settings
CoordMode, Mouse, %original_coordmode%
SetMouseDelay, %original_mousedelay%
}