AHK 快餐店[9] 之 让鼠标移动一像素 1
上回对读者的留言进行了答复,外加向读者挑战。

vampire 在得到了颜色神偷之后,高兴得不得了。今天他又来找掌柜我鸟。

vampire:如何让鼠标移动一像素?
sfufoet:干嘛用的?
vampire:有时候在 PS 处理图片的时需要嘛。比如选择一个 2 × 2 像素的区域。人工移动鼠标根本做不到。

这个好办。我们可以写一个这样的脚本。本文涉及到的代码来自这里:

LEFT::
MouseGetPos, x, y
; 获得鼠标位置,并把获得的 X,Y 坐标分别赋值给 x,y
Mousemove, x-1, y
; 移动鼠标,保持 y 坐标不变,向左移动一个像素。
Return

UP::
MouseGetPos, x, y
Mousemove, x, y-1
Return

RIGHT::
MouseGetPos, x, y
Mousemove, x+1, y
Return

DOWN::
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] 之 键盘也会乾坤大挪移