想要实现选中文字,运行quicker检查是否后台已经运行了这个ahk文件,要是已经运行直接ctrlu,要是没有运行先打开这个ahk再ctrlu,结果找了半天只有检查程序有没有运行,没有检查某个ahk文件是否在后台运行的功能。想实现的功能是选中文字,然后ctrlu自动打开百度搜索并关闭之前已经打开的页面。
代码如下:
GetSelectedText() {
ClipSaved := ClipboardAll
Clipboard := ""
Send, ^c
ClipWait, 0
Selection := Clipboard
Clipboard := ClipSaved
return Selection
}
; 当按下 Ctrl+U 时触发
^u::
{
; 获取选中的文本
searchText := GetSelectedText()
; 检查是否有 Firefox 进程已经运行
IfWinExist, ahk_exe firefox.exe
{
; 如果已经运行,则将 Firefox 窗口置于最前面
WinActivate, ahk_exe firefox.exe
; 使用 Firefox 的搜索选中文本快捷键
Send, ^k
Sleep, 500
SendInput, %searchText%{Enter}
}
else
{
; 如果没有运行,则直接用 Firefox 进程打开链接
Run, firefox.exe -search %searchText%
Sleep, 2000
}
; 等待加载页面
Sleep, 3000
}
return