这两段代码已经集成收录在AHKEditor编辑器中,这两个热键功能将极大的方便我们平时调试AHK代码

1. 什么是热键(Hotkey)?

热键,即快捷键,是通过按下特定的键盘组合来触发指定操作的方式。在日常生活中,Ctrl+C(复制)和Ctrl+V(粘贴)就是典型的热键示例。

  • 在AutoHotkey中
    热键是通过简单的代码定义的。例如,^d::表示按下Ctrl+D时触发脚本中定义的操作。
    这是AutoHotkey(AHK)的核心功能之一,用户可以通过热键快速完成任务,避免重复性操作。
  • 实际用途: 通过热键可以实现一些复杂的操作,比如批量打开文件、快速调整窗口位置、或快速测试代码。

2. 什么是剪贴板(Clipboard)?

剪贴板是Windows系统中用于临时存储复制或剪切内容的区域,所有复制的文本、图像或文件都会被保存在剪贴板中,直到被新的内容覆盖。


3. 什么是AutoHotkey进程?

在AutoHotkey中,每次运行一个脚本都会启动一个“进程”。这些进程可以理解为一个独立运行的任务。

  • 常见问题
    1. 如果同时运行多个AHK脚本,可能会导致系统资源占用增加。
    2. 如果脚本编写有误,可能会产生“僵尸进程”(未能正确退出的脚本进程),干扰其他操作。
  • 为什么需要清理进程
    当多个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}
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。