#SingleInstance force ;确定脚本已在运行时是否允许再次运行
CoordMode "Mouse", "Screen" ;设置鼠标点击的坐标电脑的全屏
Pause::Pause ; 暂停/恢复脚本的快捷键为Pause
::btw::By the way ;设置热字串
^b:: ; 设置热键,按下Ctrl+B
{
Send By the way ;打出 By the way
}
^g:: ; 设置热键,按下Ctrl+G
{
Run "Notepad" ;打开记事本,此命令相当于在 CMD 中输入 Notepad,再回车
Run "Control" ;打开控制面板
Run "C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe" ;打开电脑上的某个软件
Run "https://www.google.com" ;打开某个网址
}
Click ;在鼠标光标的当前位置点击鼠标左键
Click 100, 200 ;在指定坐标处点击鼠标左键
Click 100, 200, 0 ;移动鼠标光标到指定位置而不点击鼠标
Click 100, 200, "Right" ;在指定坐标处点击鼠标右键
Click 2 ;在鼠标光标的当前位置执行双击
Click "Down" ;按下鼠标左键不放
Click "Up Right" ;释放鼠标右键
MouseMove 200, 100 ; 移动鼠标光标到新位置
MouseMove 20, 30, 50, "R" ; 缓慢移动鼠标光标(速度 50 vs. 2) 到距离当前位置右边 20 个像素且在下面 30 个像素的位置
;鼠标光标的位置,将鼠标位置存储在 xpos 和 ypos 两个变量中
MouseGetPos &xpos, &ypos
MsgBox "The cursor is at X" xpos " Y" ypos
Delaytime := 1000 ;变量赋值为1000,注意变量赋值符号用:=,而不是用=
Sleep Delaytime ;延迟设置的变量
Send "By the way, {Enter}顺便提一句。{Down}" ;相当于在键盘上手动输入文字,注意要在英文输入法进行,特殊按键要用{}包起来,比如{Enter}{F1},具体搜索Send里面的按键名称(此功能相当于按键精灵中的 Saystring)
Send "^c" ;按下 Ctrl+C
Send "{Alt Down}{Tab 2}{Alt Up}" ;按下Alt不放,再按Tab两次,最后松开Alt
Send "!fs" ;按下Alt+F,再按下S(此功能常用于菜单栏的选择)
Send "{End}+{Left 4}" ;按一个End,再按四个Left
Send "{DEL 4}" ;按 4 次 Delete 键
Send "{S 30}" ;按 30 次大写字母 S
Send "+{TAB 4}" ;按 4 次 Shift+Tab
Send "{Blind}{Text}your text" ;{Blind}盲从模式,{Text}文本模式
SendInput "{Raw}A long series of raw characters sent via the fastest method." ;通过最快的方法发送一长串原始字符,{Raw}原始字符串模式(此功能相当于按键精灵中的 Saystring)
SendInput A long series of raw `r characters sent via `b the fastest method. ;发送字符,中间可以加转义字符 `r(Carriage return 回车), `n(New Line 换行), `t(Tab) 和 `b(Backspace)
SendInput, ^c ;按下 Ctrl+C(SendInput有Send的功能,区别是Send加引号,而SendInput在中间加逗号)
a::b ;按键重映射,按A键变成按B键
;循环3次,如果将次数删除,就会无限循环,更多功能在帮助文档中搜索Loop(相当于按键精灵中的For循环)
Loop 3
{
MsgBox "Iteration number is " A_Index ; A_Index 将为 1, 2, 接着 3
Sleep 100
}
;允许用户输入隐藏的密码
password := InputBox("(your input will be hidden)", "Enter Password", "password").value
;允许用户输入电话号码
IB := InputBox("Please enter a phone number.", "Phone Number", "w640 h480")
if IB.Result = "Cancel"
MsgBox "You entered '" IB.Value "' but then cancelled."
else
MsgBox "You entered '" IB.Value "'."
;例子
IB := InputBox("请输入你的文字", "标题")
MsgBox IB.value ;返回用户所输入的文字
MsgBox IB.Result ;提示用户最终点了什么,是点了OK,还是Cancel
;创建只有在记事本处于活动状态时才生效的两个热键和一个热字符串, 而一个热键则适用于除记事本以外的任何窗口
#HotIf WinActive("ahk_class Notepad") ;只有活动窗口在记事本的情况下才会生效
^!a::MsgBox "You pressed Ctrl-Alt-A while Notepad is active."
#c::MsgBox "You pressed Win-C while Notepad is active."
::btw::This replacement text for "btw" will occur only in Notepad.
#HotIf
#c::MsgBox "You pressed Win-C in a window other than Notepad."
; if 表达式,可以写的和PHP一样格式
Nubmer := 1000 ;变量赋值
if (Number = 1000){
MsgBox 数字等于1000
}else{
MsgBox 数字不等于1000
}
;定义一个加法函数 Functions(更多功能在参考文档搜索 Functions或函数)
Add(x, y){
return x + y
}
; 函数调用,将相加的值赋给变量Var
Var := Add(2, 3)
;用 #Inclue 包含入另一个文件(可能会有错误,以下方法多尝试)
#Include %A_ScriptDir%/include/myFunctions.ahk
#Include "\include\myFunctions.ahk"
;写入文本:在文本文档的最后追加文字,(如果有必要, 首先创建文件)
FileAppend "Another line.`n", "C:\My Documents\Test.txt"
;读取文本:读到变量 MyText
MyText := FileRead("C:\My Documents\My File.txt")
A_Clipboard := "my text" ; 赋予剪贴板全新的内容
A_Clipboard := "" ; 清空剪贴板
A_Clipboard := A_Clipboard ; 将任何复制的文件, HTML 或其他格式的文本转换为纯文本
A_Clipboard .= " Text to append." ; 追加一些文本到剪贴板
A_Clipboard := StrReplace(A_Clipboard, "ABC", "DEF") ; 把剪贴板中所有 ABC 替换为 DEF(同时把剪贴板的内容转换为纯文本)
ClipWait ;等待剪贴板内容变为非空
; 跳转到名为 "MyLabel" 的标签并继续执行
Goto MyLabel
; ...
MyLabel:
Sleep 100
; ...
;=========================================================
F8:: ;设置运行的快捷键为F8
Send "^a" ;按下 Ctrl+A
Sleep 1000 ;延迟1毫秒
Send "^c" ;按下 Ctrl+C
Sleep 1000
ClipWait ;等待剪贴板内容变为非空
send {Right}
Sleep 1000
send {Enter}
Sleep 1000
SendInput, ^v ;发送 Ctrl + V 键盘事件
return
AutoHotkey
于 2023-12-05 06:32:25 首次发布