;~ ——————————————————–
;~ 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
; 2021年11月28日
; 由于F8键离左手比较远所以我今天又添加了一个双击Ctrl键激活Total Commander的快捷键
;~ 2021年11月23日
;~ ——————————————————–
;~ 由于AutoHotkey的Hotkey语句设置的热键必需在任务栏或者桌面进程激活时才有效,
;~ 所以请使用Maye来设置Total Commander的热键 F8
;~ https://blog.arae.cc/post/25830.html
;~ https://github.com/25H/Maya/releases/
;~ 可以用 Total Commander 访问用RaiDrive异地远程连接群晖WebDAV文件服务并映射成的本地虚拟磁盘盘符 Z: 分区
;~ 可以用 Total Commander 访问用NetDrive2异地远程连接群晖SFTP文件服务并映射成的本地虚拟磁盘盘符 Y: 分区
;~ 可以用支持 Total Commander的WebDAV文件服务访问插件异地远程连接群晖WebDAV文件服务中的网络共享文件夹
;~ 可以用KeePass或者KeePass2Android来连接坚果云或者
;~ 群晖NAS的WebDAV文件服务来管理网址、用户名、账号、密码、口令、暗号、纪念日等个人敏感隐私信息和数据
;~ 可以用腾讯文档的电脑客户端来新建在线文档和在线表格来进行办公文档和办公表格的分享和协作
;~ 可以用Bulk Rename Utility 2.7.1.2来批量重命名或者编号群晖WebDAV文件服务中的共享文件夹中的大量文件
;~ 可以用Double Killer Pro V 2.1.0.104来批量删除群晖WebDAV文件服务中的共享文件夹中的重复文件
;~ 可以用OneKey Ghost V 14.5.8.215来备份保护Windows操作系统和电脑中应用程序软件和设置到GHO镜像文件,
;~ 以便今后用杏雨梨云启动维护系统可启动固态U盘来恢复电脑系统应用程序软件GHO镜像文件到电脑的系统分区C盘
;~ 可以用Shadow Defender 影子卫士来保护Windows操作系统和电脑中应用程序软件的设置,防止电脑软件设置被未授权的更改
;~ ——————————————————–
#SingleInstance,force
loop,3
{
DetectHiddenWindows,On
Sleep,3
IfWinExist,QQ595076941_AutoAHKRun
ExitApp
}
Gui, Show, Hide,QQ595076941_AutoAHKRun
#Persistent
;~ #NoTrayIcon
DetectHiddenWindows,On
SetTitleMatchMode,2
;~ 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
;~ Hotkey,F8,ActivateOrHideWindowHotkey
ActivateOrHideWindowHotkey()
~LControl::
if (A_PriorHotkey “~LControl” or A_TimeSincePriorHotkey > 400)
{
; Too much time between presses, so this isn’t a double-press.
KeyWait, LControl
return
}
ActivateOrHideWindowHotkey()
; MsgBox You double-pressed the Left control key.
return
;~ ——————————————————–
ActivateOrHideWindowHotkey()
{
;~ MsgBox,PressedHotkey检测到已经按下快捷键
TCTitle:=”Total Commander”
Sleep,5
WinGetActiveTitle,Title
IfInString,Title,%TCTitle%
{
;~ MsgBox,MinimizeWindow最小化指定窗口
WinMinimize,Total Commander ahk_class TTOTAL_CMD
; ExitApp
}
else
{
;~ MsgBox,ActivateWindow显示并且最大化并且激活指定窗口
SetTimer,ActivateWindowTimer,500
}
}
;~ ——————————————————–
;根据窗口类名显示并激活Total Commander窗口
ActivateWindowTimer()
{
;~ 1、如果程序没有运行则运行程序,这里我把可执行文件名改成了TotalCMD-v10.exe
Process,Exist,TotalCMD-v10.exe
if (%ErrorLevel%=0)
{
IfExist,D:TotalCMDTotalCMD-v10.exe
{
Run,D:TotalCMDTotalCMD-v10.exe
}
else
{
MsgBox,找不到文件 D:TotalCMDTotalCMD-v10.exe
return
}
}
;~ 2、显示并激活(切换到)指定窗口
WinShow,Total Commander ahk_class TTOTAL_CMD
WinActivate,Total Commander ahk_class TTOTAL_CMD
WinMaximize,Total Commander ahk_class TTOTAL_CMD
Sleep,5
WinGet, WinID, ID,Total Commander ahk_class TTOTAL_CMD
DllCall(“SwitchToThisWindow”, “UInt”, WinID, “UInt”, 1)
;~ 3、检查指定窗口是否激活成功,
;~ 假如激活成功则退出Timer计时器循环执行,
;~ 如果激活失败则继续尝试激活指定窗口
TCTitle:=”Total Commander”
Sleep,5
WinGetActiveTitle,Title
IfInString,Title,%TCTitle%
{
SetTimer,ActivateWindowTimer,Delete
; ExitApp
}
}
;~ ——————————————————–
/*
; 请使用 窗口信息工具 AHKInfo 1.3.5 获取窗口的类名
;根据窗口类名激活或者隐藏窗口
ActivateOrHideWindow(VarExeFileName:=”TotalCMD-v10″,VarWinClassName:=”TTOTAL_CMD”)
{
; 1、如果程序没有运行则运行程序
Process,Exist,%VarExeFileName%.exe
if (%ErrorLevel%=0)
{
IfExist,%VarExeFileName%.exe
{
Run,%VarExeFileName%.exe
return
}
else
{
MsgBox,找不到文件 %VarExeFileName%.exe
return
}
}
; 2、如果窗口未置顶则显示并激活(切换到)指定窗口
IfWinNotActive,ahk_class %VarWinClassName%
{
loop,2
{
Sleep,50
WinShow,ahk_class %VarWinClassName%
;~ WinMaximize,ahk_class %VarWinClassName%
Sleep,50
WinGet, WinID, ID,ahk_class %VarWinClassName%
Sleep,50
DllCall(“SwitchToThisWindow”, “UInt”, WinID, “UInt”, 1)
}
return
}
; 3、如果窗口已经显示并置顶则隐藏窗口
;~ WinMinimize,ahk_class %VarWinClassName%
WinHide,ahk_class %VarWinClassName%
}
*/