如何用单组快捷键切换执行两个AutoHotkey宏实现Chrome窗口显隐?
实现单快捷键切换Chrome窗口的显示/隐藏
要实现用单个快捷键(比如Ctrl+S)切换Chrome窗口的显示与隐藏,核心是每次触发快捷键时判断当前窗口的可见状态,再执行对应的显示或隐藏操作。以下是修改后的AutoHotkey脚本:
#NoEnv SetWorkingDir %A_ScriptDir% CoordMode, Mouse, Window SendMode Input #SingleInstance Force SetTitleMatchMode 2 #WinActivateForce SetControlDelay 1 SetWinDelay 0 SetKeyDelay -1 SetMouseDelay -1 SetBatchLines -1 ; 用Ctrl+S作为切换快捷键 ^s:: ; 检查Chrome窗口是否存在 if WinExist("ahk_class Chrome_WidgetWin_1 ahk_exe chrome.exe") { ; 获取窗口当前可见状态 WinGet, chromeVisible, Visible, ahk_class Chrome_WidgetWin_1 ahk_exe chrome.exe if chromeVisible { ; 窗口可见则隐藏 WinHide, ahk_class Chrome_WidgetWin_1 ahk_exe chrome.exe } else { ; 窗口隐藏则显示并激活 WinShow, ahk_class Chrome_WidgetWin_1 ahk_exe chrome.exe WinActivate, ahk_class Chrome_WidgetWin_1 ahk_exe chrome.exe } Sleep, 333 } Return F8::ExitApp F12::Pause
关键说明
- 移除了原有的
Ctrl+H快捷键,将Ctrl+S改为切换逻辑 - 使用
WinExist先确认Chrome窗口是否存在,避免无窗口时执行无效操作 - 通过
WinGet, Visible获取窗口实时状态,比手动维护变量更可靠(避免用户手动操作窗口导致状态不一致) - 显示窗口时增加
WinActivate,确保窗口切换到前台
内容的提问来源于stack exchange,提问作者Strat919
相关产品推荐
相关产品推荐

