AHK 快餐店[9] 之 让鼠标移动一像素
上回对读者的留言进行了答复,外加向读者挑战。
vampire 在得到了颜色神偷之后,高兴得不得了。今天他又来找掌柜我鸟。
vampire:如何让鼠标移动一像素?
sfufoet:干嘛用的?
vampire:有时候在 PS 处理图片的时需要嘛。比如选择一个 2 × 2 像素的区域。人工移动鼠标根本做不到。
这个好办。我们可以写一个这样的脚本。本文涉及到的代码来自这里:
LEFT::
MouseGetPos, x, y
; 获得鼠标位置,并把获得的 X,Y 坐标分别赋值给 x,y
Mousemove, x-1, y
; 移动鼠标,保持 y 坐标不变,向左移动一个像素。
ReturnUP::
MouseGetPos, x, y
Mousemove, x, y-1
ReturnRIGHT::
MouseGetPos, x, y
Mousemove, x+1, y
ReturnDOWN::
MouseGetPos, x, y
Mousemove, x, y+1
Return
运行脚本后,就可以用上下左右箭头来控制鼠标的移动了。上面的代码好啰嗦哦,对于追求代码之美的程序员来说,下面的代码多完美啊。
Left:: MouseMove, -1, 0,, R
; MouseMove 的完整语法是:
; MouseMove, X, Y [, Speed, R]
; X – X 坐标;Y – Y 坐标;[ ] 里面的是可选参数,Speed – 移动的速度,其范围是 0 – 100,不填写任何数字的话,参数默认是 0 ,最快速移动;最后的 R 表示前面的参数 X、Y 是相对鼠标当前位置,如果不带这个参数, X、Y 就表示屏幕上的坐标。讲起来很啰嗦,大家比较上面的代码就明白。
Up:: MouseMove, 0, -1,, R
Right:: MouseMove, 1, 0,, R
Down:: MouseMove, 0, 1,, R
update:本系列故事纯属虚构,请勿对号入座。
下回预告:AHK 快餐店[10] 之 键盘也会乾坤大挪移