查看完整视频
小黑屋思过中,禁止观看!
评论并刷新后可见

您需要在视频最下面评论并刷新后,方可查看完整视频

积分观看

您支付积分,方可查看完整视频

{{user.role.value}}
付费视频

您支付费用,方可查看完整视频

¥{{user.role.value}}
专属视频

只允许以下等级用户查看该视频

升级
会员专享

视频选集

1.3.4游戏中常用的Autohotkey基础命令(click,mousemove,mouseclick,mouseclickdrag,pixelsearch,mousegetpos,pixelgetcolor,send,controlclick,controlsend)

  • 视频介绍
  • 交流讨论

在上面几节课,主要讲解了一下热键的基本结构、修饰符、上下文热键等框架性的知识,这节课我来给框架补充“肉”,先对游戏脚本中最常用的几个基础命令进行一次详解,让各位看官立马就能去爽一把。例子是说明用法的最直接的方式,这里我会持续收集大量的典型使用例子供大家使用。

Click

作用:

点击

结构:

Click [Left|Right|n-Times|Down|Up|WheelUp|WheelDown|Relative X, Y]

特点:

灵活——所有的逗号都是可选的、除了XY参数的顺序是固定的,所有参数可以随意调换位置(带有次数信息时,XYN是固定顺序的)。

更强——不受用户通过系统控制面板对左右键功能交换的设置的影响。

示例:

Click  ; 在鼠标光标的当前位置点击鼠标左键.
Click, 100, 200  ; 在指定坐标处点击鼠标左键.
Click, 100, 200, 0  ; 移动而不点击鼠标.
Click, 100, 200, right  ; 点击鼠标右键.
Click, 2  ; 执行双击.
Click, down  ; 按下鼠标左键不放.
Click, up, right  ; 释放鼠标右键.

完整示例画点阵

隐藏内容,您需要满足以下条件方可查看
End

MouseClick

作用:

鼠标点击

结构:

MouseClick [, WhichButton , X, Y, ClickCount, Speed, D|U, R]

示例:

;在当前鼠标位置双击
MouseClick, left
MouseClick, left

; 和上面相同:
MouseClick, left, , , 2

;移动到指定的坐标然后点击一次右键
MouseClick, right, 200, 300

;模拟转动鼠标滚动的热键
#up::MouseClick, WheelUp, , , 2  ; 把它转两个位置.
#down::MouseClick, WheelDown, , , 2

MouseMove

作用:

鼠标移动

结构:

MouseMove X, Y [, Speed, R]

示例:

;移动鼠标到新位置
MouseMove, 200, 100
; 缓慢移动鼠标(速度 50 vs. 2) 到距离当前位置右边 20 个像素且在下面 30 个像素的位置
MouseMove, 20, 30, 50, R

MouseClickDrag

作用:

鼠标拖动

结构:

MouseClickDrag WhichButton, X1, Y1, X2, Y2 [, Speed, R]

示例:

Run, mspaint.exe
WinWaitActive, ahk_class MSPaintApp,, 2
if ErrorLevel
    return
MouseClickDrag, L, 150, 250, 150, 150
MouseClickDrag, L, 150, 150, 200, 100
MouseClickDrag, L, 200, 100, 250, 150
MouseClickDrag, L, 250, 150, 150, 150
MouseClickDrag, L, 150, 150, 250, 250
MouseClickDrag, L, 250, 250, 250, 150
MouseClickDrag, L, 250, 150, 150, 250
MouseClickDrag, L, 150, 250, 250, 250

PixelSearch

作用:

找色

结构:

PixelSearch OutputVarX, OutputVarY, X1, Y1, X2, Y2, ColorID [, Variation, Fast|RGB]

示例:

^r::
PixelSearch, Px, Py, 0, 300, 1000, 1000, 0x4CB122, 3, Fast ;颜色调整为自己需要的
if ErrorLevel
    MsgBox, 这个颜色未找到.
else
    MouseMove %Px%,%Py%    
Return

mousegetpos

作用:

获取鼠标位置坐标

结构:

MouseGetPos [OutputVarX, OutputVarY, OutputVarWin, OutputVarControl, 1|2|3]

示例:

鼠标悬停查看窗口信息

#Persistent
SetTimer, WatchCursor, 100
return

WatchCursor:
MouseGetPos, , , id, control
WinGetTitle, title, ahk_id %id%
WinGetClass, class, ahk_id %id%
ToolTip, ahk_id %id%`nahk_class %class%`n%title%`nControl: %control%
return

pixelgetcolor

作用:

取色

结构:

PixelGetColor OutputVar, X, Y [, Alt|Slow|RGB]

示例:

^r::  ; Control+r 热键
MouseGetPos, MouseX, MouseY
PixelGetColor, color, %MouseX%, %MouseY%
MsgBox 鼠标位置的颜色值是 %color%.
return

controlclick

作用:

绑定窗口的点击、后台操作、多屏同步

结构:

ControlClick [Control-or-Pos, WinTitle, WinText, WhichButton, ClickCount, Options, ExcludeTitle, ExcludeText]

示例:

多屏同步

隐藏内容,您需要满足以下条件方可查看
End

send

作用:

发送文本或者键击

结构:

Send Keys

示例:

Send {DEL 4}  ; 按 4 次 Delete 键.
Send {S 30}   ; 发送 30 次大写字母 S.
Send +{TAB 4}  ; 按 4 次 Shift-Tab.
Send {b down}{b up}
Send {TAB down}{TAB up}
Send {Up down}  ; 按下向上键.
Sleep 1000  ; 按住 1 秒.
Send {Up up}  ; 释放向上键.
Loop 20
{
    Send {Tab down}  ; 自动重复由连续的按下事件组成(没有弹起事件).
    Sleep 30  ; 在两次键击之间的毫秒数(或使用 SetKeyDelay 设置).
}
Send {Tab up}  ; 松开按键.

Send Sincerely,{enter}John Smith  ; 输入两行的签名.
Send !fs ; 选择 File->Save 菜单 (Alt+F 后面跟着 S).
Send {End}+{Left 4} ; 跳到文本的末尾然后发送四次 shift 和左方向键组合的键击.
SendInput {Raw}A long series of raw characters sent via the fastest method. ; 有关详情, 请参阅 {Raw}.

controlsend

作用:

绑定窗口的发送文本或键击、后台操作、多屏同步

结构:

ControlSend [, Control, Keys, WinTitle, WinText, ExcludeTitle, ExcludeText]

示例:

;打开记事本(最小化的) 并发送一些文本.
Run, Notepad,, Min, PID  ; 最小化运行记事本.
WinWait, ahk_pid %PID%  ; 等待记事本进程的出现.
; 将文本发送到不活动的记事本编辑控件.
; 省略了第三个参数, 因此使用最后一个找到的窗口.
ControlSend, Edit1, This is a line of text in the notepad window.{Enter}
ControlSendRaw, Edit1, Notice that {Enter} is not sent as an Enter keystroke with ControlSendRaw.

MsgBox, Press OK to activate the window to see the result.
WinActivate, ahk_pid %PID%  ; 显示结果.

;打开命令提示符并向它发送一些文本
SetTitleMatchMode, 2
Run, %A_ComSpec%,,, PID  ; 打开命令提示符.
WinWait, ahk_pid %PID%  ; 等待它的出现.
ControlSend,, ipconfig{Enter}, cmd.exe  ; 直接发送到命令提示符窗口.

人已赞赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索