这两段代码已经集成收录在AHKEditor编辑器中,这两个热键功能将极大的方便我们平时调试AHK代码
1. 什么是热键(Hotkey)?
热键,即快捷键,是通过按下特定的键盘组合来触发指定操作的方式。在日常生活中,Ctrl+C(复制)和Ctrl+V(粘贴)就是典型的热键示例。
- 在AutoHotkey中:
热键是通过简单的代码定义的。例如,^d::
表示按下Ctrl+D时触发脚本中定义的操作。
这是AutoHotkey(AHK)的核心功能之一,用户可以通过热键快速完成任务,避免重复性操作。 - 实际用途: 通过热键可以实现一些复杂的操作,比如批量打开文件、快速调整窗口位置、或快速测试代码。
2. 什么是剪贴板(Clipboard)?
剪贴板是Windows系统中用于临时存储复制或剪切内容的区域,所有复制的文本、图像或文件都会被保存在剪贴板中,直到被新的内容覆盖。
3. 什么是AutoHotkey进程?
在AutoHotkey中,每次运行一个脚本都会启动一个“进程”。这些进程可以理解为一个独立运行的任务。
- 常见问题:
- 如果同时运行多个AHK脚本,可能会导致系统资源占用增加。
- 如果脚本编写有误,可能会产生“僵尸进程”(未能正确退出的脚本进程),干扰其他操作。
- 为什么需要清理进程:
当多个AHK脚本进程同时运行,或者某些进程因错误无法正常结束时,会导致系统变慢甚至无法正常使用键盘热键。一键清理进程可以帮助终止所有运行中的AHK脚本,释放资源。
4. 为什么需要快速测试代码?
零基础用户在学习AHK时,通常需要反复尝试和调整代码。快速测试代码的功能可以:
- 节省时间:无需反复新建文件保存代码,只需将代码复制到剪贴板即可运行。
- 降低复杂度:用户可以直接通过热键验证代码功能,快速获得结果。
通过这种方式,用户可以更直观地理解脚本的功能和效果,特别是对于不熟悉脚本运行方式的初学者。
最重要的是,在本站搜索的直接贴源码的示例,可直接点击复制后,Ctrl+D直接运行测试效果看看是不是自己需要的。
热键快速测试AHK代码:
;【Ctrl+D】用于快速测试剪贴板的代码【默认以管理员权限测试】 ^d:: s:=Clipboard IfEqual, s, , Return FileDelete, %A_Temp%\~ClipboardTest.ahk FileAppend, % RegExReplace(s,"\R","`r`n"), %A_Temp%\~ClipboardTest.ahk, UTF-8 Run *RunAs "%A_ScriptDir%\AutoHotkey_Setup\AutoHotkeyU64.exe" /restart "%A_Temp%\~ClipboardTest.ahk",, UseErrorLevel ToolTip 剪贴板脚本已运行!, (A_ScreenWidth//2)-(56*A_ScreenDPI/96), 10*A_ScreenDPI/96 SetTimer SC996, -1500 Return SC996::ToolTip
一键清理其它AHK进程:
;【Alt+X】一键清理其它AHK进程 !x:: 需管理员权限启动的清理进程代码= (LTrim ` % 排除脚本名 := ["kaiji.ahk", "Google剪贴板翻译.ahk"] ; 此数组可以填写你想排除的AHK脚本名 SetBatchLines -1 DetectHiddenWindows On WinGet, list, List, ahk_class AutoHotkey Loop %list% { 跳过本次 := 0 if (A_ScriptHwnd=(id:=list%A_Index%)) Continue WinGetTitle, 获取脚本标题, ahk_id %id% 获取脚本提取 := RegExReplace(获取脚本标题, " - AutoHotkey v[\d.]+$") SplitPath, 获取脚本提取, 获取文件名 For _ in 排除脚本名 (获取文件名=排除脚本名[A_Index] && 跳过本次 := 1) if (跳过本次=0) { WinClose, ahk_id %id% WinGet, pid, PID, ahk_id %id% if WinExist("ahk_id " id) Process, Close, %pid% } } ExitApp ) FileDelete, %A_Temp%\~ClearingAHKprocess.ahk FileAppend, %需管理员权限启动的清理进程代码%, %A_Temp%\~ClearingAHKprocess.ahk Run *RunAs "%A_ScriptDir%\AutoHotkey_Setup\AutoHotkeyU64.exe" /restart "%A_Temp%\~ClearingAHKprocess.ahk",, UseErrorLevel Tip("其它AHK程序已经退出!") SetTimer SC997, -1000 Return Tip(s:="", Period:="") { SetTimer %A_ThisFunc%, % s="" ? "Off" : "-" (Period="" ? 1500 : Period) ToolTip %s%, , , 17 } SC997::Send {LWin Up}{RWin Up}
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)