设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8

;
;/*
;===========================================
; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
; https://www.autoahk.com/archives/37780
; https://www.cnblogs.com/delphixx/p/15718194.html
;
; 脚本作者 : ds920
; 最新版本 : 1.1
; 更新时间 : 2021年12月22日
;
; 用法: (需要最新版本 AHK v1.1.31+)
; 1. 到飞扬时空的新浪博客下载并安装TotalCommander中文增强版到文件夹D:/TotalCMD
; 2. 将本脚本保存为”RunTC.ahk”并复制到D:/TotalCMD文件夹中
; 3. 使用Maye来设置RunTC.ahk的热键为 F8
;
; 升级更新历史:
; 版本1.0 2021年12月22日 新建 创建此AutoHotkey脚本并测试通过F8热键功能
; 版本1.1 2021年12月22日 修改 调整删除 SetTimer 定时器时判断TC主窗口是否激活的顺序
; 把基于窗口类的激活判断语句”if(WinActive(“ahk_class” TTOTAL_CMD))”放在最外层
; 防止有相同标题的窗口激活时(例如:相同标题的浏览器等等)窗口激活误判
;
; 由于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文件服务来管理网址、用户名、账号、密码、口令、暗号、纪念日等个人敏感隐私信息和数据
; 可以用FileZilla Pro 专业版软件异地远程连接群晖的WebDAV文件服务并
; 批量上传文件夹到群晖的 RAID 1 镜像存储池中的共享文件夹之中
; 可以用腾讯文档的电脑客户端来新建在线文档和在线表格来进行办公文档和办公表格的分享和协作
; 可以用Bulk Rename Utility 2.7.1.2来批量重命名或者编号群晖WebDAV文件服务中的共享文件夹中的大量文件
; 可以用Double Killer Pro V 2.1.0.104来批量删除群晖WebDAV文件服务中的共享文件夹中的重复文件
; 可以安装并升级更新”火绒安全软件”来防杀电脑病毒木马恶意软件并拦截垃圾广告弹出的骚扰窗口
; 可以用SGI备份还原映像总裁镜像总裁一键还原工具软件来备份保护Windows操作系统和
; 电脑中应用程序软件和设置到GHO系统镜像文件
; SGI备份还原映像总裁镜像总裁一键还原工具软件官方网址是 https://www.sysceo.com/Software-softwarei-id-253.html
; 以便今后用杏雨梨云启动维护系统可启动固态U盘来恢复电脑系统应用程序软件GHO系统镜像文件到电脑的系统分区C盘
; 可以用Shadow Defender 影子卫士来保护Windows操作系统和电脑中应用程序软件的设置,
; 防止电脑软件设置被未授权的用户和程序非法更改和破坏
; 如果无法安装 Shadow Defender 影子卫士时可以用”DeepFreeze冰点还原精灵”或者
; “PowerShadow影子系统”或者”Returnil Virtual System(RVS)”来代替影子卫士
;
;===========================================
;*/

#SingleInstance,Ignore
loop,2
{
    DetectHiddenWindows,On
    Sleep,2
    IfWinExist,QQ595076941_AutoAHKRun
        ExitApp
}
Gui, Show, Hide,QQ595076941_AutoAHKRun
#Persistent
; #NoTrayIcon
DetectHiddenWindows,On
SetTitleMatchMode,2
; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
; Hotkey,F8,ActivateOrHideWindowHotkey
ActivateOrHideWindowHotkey()
return
; ——————————————————–
ActivateOrHideWindowHotkey()
{
    ; MsgBox,PressedHotkey检测到已经按下快捷键
    Sleep,2
    IfWinActive,ahk_class TTOTAL_CMD
    {
        Sleep,2
        if(WinActive(ahk_class TTOTAL_CMD))
        {
            Sleep,2
            WinGetClass, MyClass, A
            IfInString,MyClass,TTOTAL_CMD
            {
                Sleep,2
                IfWinActive,Total Commander
                {
                    TCTitle:=”Total Commander”
                    Sleep,2
                    WinGetActiveTitle,Title
                    IfInString,Title,%TCTitle%
                    {
                        ; MsgBox,MinimizeWindow最小化指定窗口
                        WinMinimize,Total Commander ahk_class TTOTAL_CMD
                        Sleep,2
                        ExitApp
                    }
                }
            }
        }
}
else
{
    ; MsgBox,ActivateWindow显示并且最大化并且激活指定窗口
    SetTimer,ActivateWindowTimer,20
}
}
; ——————————————————–
;根据窗口类名显示并激活Total Commander窗口
ActivateWindowTimer()
{
    ; 1、如果程序没有运行则运行程序,这里我把可执行文件名改成了TotalCMD-v10.exe
    Process,Exist,TotalCMD-v10.exe
    if (%ErrorLevel%=0)
    {
        IfExist,D:/TotalCMD/TotalCMD-v10.exe
        {
            Run,D:/TotalCMD/TotalCMD-v10.exe
        }
        else
        {
            MsgBox,找不到文件 D:/TotalCMD/TotalCMD-v10.exe
            return
        }
    }
    ; 2、显示并激活(切换到)指定窗口
    WinShow,Total Commander ahk_class TTOTAL_CMD
    WinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeight
    WinActivate,Total Commander ahk_class TTOTAL_CMD
    WinMaximize,Total Commander ahk_class TTOTAL_CMD
    Sleep,2
    DetectHiddenWindows,On
    SetTitleMatchMode,2
    WinGet, WinID, ID,Total Commander ahk_class TTOTAL_CMD
    DllCall(“SwitchToThisWindow”, “UInt”, WinID, “UInt”, 1)
    ; 3、检查指定窗口是否激活成功,
    ; 假如激活成功则退出Timer计时器循环执行,
    ; 如果激活失败则继续尝试激活指定窗口

    Sleep,2
    IfWinActive,ahk_class TTOTAL_CMD
    {
        Sleep,2
        if(WinActive(ahk_class TTOTAL_CMD))
        {
            Sleep,2
            WinGetClass, MyClass, A
            IfInString,MyClass,TTOTAL_CMD
            {
                Sleep,2
                IfWinActive,Total Commander
                {
                    TCTitle:=”Total Commander”
                    Sleep,2
                    WinGetActiveTitle,Title
                    IfInString,Title,%TCTitle%
                    {
                        SetTimer,ActivateWindowTimer,Delete
                        Sleep,2
                        ExitApp
                    }
                }
            }
        }
}
}

;================= The End =================

;

/*

;================= 根据窗口类名激活或者隐藏窗口的AutoHotkey函数 =================
; 请使用 窗口信息工具 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,20
            WinShow,ahk_class %VarWinClassName%
            ;~ WinMaximize,ahk_class %VarWinClassName%
            Sleep,20
            WinGet, WinID, ID,ahk_class %VarWinClassName%
            Sleep,20
            DllCall(“SwitchToThisWindow”, “UInt”, WinID, “UInt”, 1)
        }
        return
    }
    ; 3、如果窗口已经显示并置顶则隐藏窗口
    ;~ WinMinimize,ahk_class %VarWinClassName%
    WinHide,ahk_class %VarWinClassName%
}

*/
;

 

 

设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA捐赠
共{{data.count}}人
人已捐赠
其他函数教程

【函数】调出文件夹选择对话框

2021-11-24 8:59:23

其他案例

AHK利用地址栏实现网页自动化By FeiYue

2021-11-25 9:23:24

12 条回复 A文章作者 M管理员
  1. aahk

    ;~ ——————————————————–
    ;~ 设置激活或者隐藏 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%
    }
    */

  2. aahk

    ;~ ——————————————————–
    ;~ 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ; 2021年11月29日
    ; 多个快捷键容易引起选择和记忆困难,所以仍然改回只用1个快捷键F8
    ; 不知为何,有时候会误判为TC窗口已经激活,所以添加了两层IfWinActive窗口已激活的判断语句,
    ; 经过脚本的多次判断,多次核对之后现在不会出错了。
    ; 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,2
    {
    DetectHiddenWindows,On
    Sleep,2
    IfWinExist,QQ595076941_AutoAHKRun
    ExitApp
    }
    Gui, Show, Hide,QQ595076941_AutoAHKRun
    #Persistent
    ;~ #NoTrayIcon
    DetectHiddenWindows,On
    SetTitleMatchMode,2
    ;~ 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ;~ Hotkey,F8,ActivateOrHideWindowHotkey
    ActivateOrHideWindowHotkey()
    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,2
    WinGet, WinID, ID,Total Commander ahk_class TTOTAL_CMD
    DllCall(“SwitchToThisWindow”, “UInt”, WinID, “UInt”, 1)
    ;~ 3、检查指定窗口是否激活成功,
    ;~ 假如激活成功则退出Timer计时器循环执行,
    ;~ 如果激活失败则继续尝试激活指定窗口
    TCTitle:=”Total Commander”
    Sleep,2
    WinGetActiveTitle,Title
    IfInString,Title,%TCTitle%
    {
    IfWinActive,Total Commander
    {
    IfWinActive,ahk_class TTOTAL_CMD
    {
    ;等待指定标题窗口出现
    ; WinWait, Total Commander 10.00 – Ustav fyziky kondenzovanych latek ahk_class TTOTAL_CMD ahk_exe TotalCMD-v10.exe, [Win 7 Ult
    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%
    }
    */

  3. aahk

    ;~ ——————————————————–
    ;~ 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ; 2021年11月29日
    ; 在最小化之前也添加了两层IfWinActive窗口激活判断
    ; 2021年11月29日
    ; 多个快捷键容易引起选择和记忆困难,所以仍然改回只用1个快捷键F8
    ; 不知为何,有时候会误判为TC窗口已经激活,所以添加了两层IfWinActive窗口已激活的判断语句,
    ; 经过脚本的多次判断,多次核对之后现在不会出错了。
    ; 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,2
    {
    DetectHiddenWindows,On
    Sleep,2
    IfWinExist,QQ595076941_AutoAHKRun
    ExitApp
    }
    Gui, Show, Hide,QQ595076941_AutoAHKRun
    #Persistent
    ;~ #NoTrayIcon
    DetectHiddenWindows,On
    SetTitleMatchMode,2
    ;~ 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ;~ Hotkey,F8,ActivateOrHideWindowHotkey
    ActivateOrHideWindowHotkey()
    return
    ;~ ——————————————————–
    ActivateOrHideWindowHotkey()
    {
    ;~ MsgBox,PressedHotkey检测到已经按下快捷键
    TCTitle:=”Total Commander”
    Sleep,5
    WinGetActiveTitle,Title
    IfInString,Title,%TCTitle%
    {
    Sleep,2
    IfWinActive,Total Commander
    {
    Sleep,2
    IfWinActive,ahk_class TTOTAL_CMD
    {
    ;~ MsgBox,MinimizeWindow最小化指定窗口
    WinMinimize,Total Commander ahk_class TTOTAL_CMD
    Sleep,2
    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,2
    WinGet, WinID, ID,Total Commander ahk_class TTOTAL_CMD
    DllCall(“SwitchToThisWindow”, “UInt”, WinID, “UInt”, 1)
    ;~ 3、检查指定窗口是否激活成功,
    ;~ 假如激活成功则退出Timer计时器循环执行,
    ;~ 如果激活失败则继续尝试激活指定窗口
    TCTitle:=”Total Commander”
    Sleep,2
    WinGetActiveTitle,Title
    IfInString,Title,%TCTitle%
    {
    Sleep,2
    IfWinActive,Total Commander
    {
    Sleep,2
    IfWinActive,ahk_class TTOTAL_CMD
    {
    ;等待指定标题窗口出现
    ; WinWait, Total Commander 10.00 – Ustav fyziky kondenzovanych latek ahk_class TTOTAL_CMD ahk_exe TotalCMD-v10.exe, [Win 7 Ult
    SetTimer,ActivateWindowTimer,Delete
    Sleep,2
    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%
    }
    */

  4. aahk

    Maye 一个简洁小巧的快速启动工具 – ARAE

    https://blog.arae.cc/post/25830.html

    https://www.lanzoux.com/b0bqwqjvg

    https://github.com/25H/Maya

    修改一下,把 #SingleInstance,Force 改成 #SingleInstance,Ignore

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////

    虽然用Delphi也可以自定义热键,但是我还是喜欢用现成的Maye

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////

    type
    TForm1 = class(TForm)
    //这加一句
    procedure hotykey(var msg: TMessage); message WM_HOTKEY;

    //加了加一句
    var
    idd: Integer;
    implementation

    procedure TForm1.FormDestroy(Sender: TObject);
    begin
    UnRegisterHotKey(handle, idd);
    end;

    procedure TForm1.hotykey(var msg: TMessage); //定义下面这种热键,要先写长的判断,不然没有反应!这就是原因!
    begin
    if (GetAsyncKeyState(VK_CONTROL) < 0) and (GetAsyncKeyState(VK_SHIFT) < 0) and (GetAsyncKeyState(VK_MENU) and (GetAsyncKeyState(VK_LWIN) and (GetAsyncKeyState(Ord('d')))) < 0) then //Ctrl+Shift+Alt+Window+d
    ShowMessage('Ctrl+Shift+Alt+Window+d');
    end;

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    idd := GlobalAddAtom('hotkeyd');
    RegisterHotKey(handle, idd, MOD_CONTROL + MOD_SHIFT + MOD_ALT + MOD_WIN, VK_d);
    end;

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////

    uses
    …, Menus;

    type
    TForm1 = class(TForm)

    private
    HotKey_Key: Word;
    HotKey_Shift: Word;
    Aatom: Atom;
    procedure HotKey(var Msg: TMessage); message WM_HOTKEY; //定义全局热键消息事件

    end;

    ….

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    Aatom := GlobalAddAtom('MYHOTKEY'); //全局热键ID
    GetHotKey(HotKey1.HotKey);
    end;

    procedure TForm1.FormDestroy(Sender: TObject);
    begin
    UnRegisterHotKey(Handle, Aatom); //反注册全局热键
    GlobalDeleteAtom(Aatom);
    end;

    procedure TForm1.HotKey(var Msg: TMessage); //热键响应事件
    begin
    if ((Msg.LParamHi = HotKey_Key) and (Msg.LParamLo = HotKey_Shift)) then //全局热键
    begin
    ShowMessage('Hot Key Pressed!');
    end;
    end;

    procedure TForm1.Button1Click(Sender: TObject); //注册热键
    var
    T: TShiftState;
    function ShiftStateToWord(Shift:TShiftState): Word;
    begin
    if ssShift in Shift then Result :=MOD_SHIFT else Result := 0;
    if ssCtrl in Shift then Result :=Result or MOD_CONTROL;
    if ssAlt in Shift then Result:=Result or MOD_ALT;
    end;
    begin
    ShortCutToKey(HotKey1.HotKey, HotKey_Key, T);
    HotKey_Shift := ShiftStateToWord(T);

    RegisterHotKey(Handle, Aatom, HotKey_Shift, HotKey_Key); //注册全局热键
    end;

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////

    private
    aatom:atom;
    c:atom;
    procedure hotkey(var msg:tmessage);message wm_hotkey; //定义全局热键消息事件
    { Private declarations }
    public
    { Public declarations }
    end;
    var
    Form1: TForm1;
    a,b:integer;
    implementation
    {$R *.dfm}
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    aatom:=globaladdatom('hotkey');
    c:=globaladdatom('hotkey1'); //全局热键ID
    RegisterHotKey(handle,aatom,MOD_ALT,vk_f12); //注册全局热键
    RegisterHotKey(handle,c,MOD_ALT,vk_f11);
    end;
    procedure TForm1.hotkey(var msg:tmessage); //热键响应事件
    begin
    if (msg.LParamHi=VK_F12) and (msg.LParamLo=MOD_ALT) then //全局热键 ALT+F12
    begin
    a:=a+1;
    a:=a mod 2;
    if a=1 then
    checkbox1.Checked:=true
    else
    checkbox1.Checked:=false
    end;
    if (msg.LParamHi=VK_F11) and (msg.LParamLo=MOD_ALT) then
    b:=b+1;
    b:=b mod 2;
    if b=1 then
    checkbox2.Checked:=true
    else
    checkbox2.Checked:=false
    end;
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    globalDeleteatom(aatom);
    globalDeleteatom(c);
    end;

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////

    ;~ ——————————————————–
    ;~ 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ;~ 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,Ignore
    loop,2
    {
    DetectHiddenWindows,On
    Sleep,2
    IfWinExist,QQ595076941_AutoAHKRun
    ExitApp
    }
    Gui, Show, Hide,QQ595076941_AutoAHKRun
    #Persistent
    ;~ #NoTrayIcon
    DetectHiddenWindows,On
    SetTitleMatchMode,2
    ;~ 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ;~ Hotkey,F8,ActivateOrHideWindowHotkey
    ActivateOrHideWindowHotkey()
    return
    ;~ ——————————————————–
    ActivateOrHideWindowHotkey()
    {
    ;~ MsgBox,PressedHotkey检测到已经按下快捷键
    TCTitle:="Total Commander"
    Sleep,5
    WinGetActiveTitle,Title
    IfInString,Title,%TCTitle%
    {
    Sleep,2
    IfWinActive,Total Commander
    {
    Sleep,2
    IfWinActive,ahk_class TTOTAL_CMD
    {
    ;~ MsgBox,MinimizeWindow最小化指定窗口
    WinMinimize,Total Commander ahk_class TTOTAL_CMD
    Sleep,2
    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,2
    WinGet, WinID, ID,Total Commander ahk_class TTOTAL_CMD
    DllCall("SwitchToThisWindow", "UInt", WinID, "UInt", 1)
    ;~ 3、检查指定窗口是否激活成功,
    ;~ 假如激活成功则退出Timer计时器循环执行,
    ;~ 如果激活失败则继续尝试激活指定窗口
    TCTitle:="Total Commander"
    Sleep,2
    WinGetActiveTitle,Title
    IfInString,Title,%TCTitle%
    {
    Sleep,2
    IfWinActive,Total Commander
    {
    Sleep,2
    IfWinActive,ahk_class TTOTAL_CMD
    {
    ;等待指定标题窗口出现
    ; WinWait, Total Commander 10.00 – Ustav fyziky kondenzovanych latek ahk_class TTOTAL_CMD ahk_exe TotalCMD-v10.exe, [Win 7 Ult
    SetTimer,ActivateWindowTimer,Delete
    Sleep,2
    ExitApp
    }
    }
    }
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////

  5. aahk

    ;/*
    ;===========================================
    ;
    ; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ; 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文件服务中的共享文件夹中的重复文件
    ; 可以用SGI备份还原映像总裁镜像总裁一键还原工具软件来备份保护Windows操作系统和电脑中应用程序软件和设置到GHO系统镜像文件
    ; SGI备份还原映像总裁镜像总裁一键还原工具软件官方网址是 https://www.sysceo.com/Software-softwarei-id-253.html
    ; 以便今后用杏雨梨云启动维护系统可启动固态U盘来恢复电脑系统应用程序软件GHO系统镜像文件到电脑的系统分区C盘
    ; 可以用Shadow Defender 影子卫士来保护Windows操作系统和电脑中应用程序软件的设置,防止电脑软件设置被未授权的更改
    ; 如果无法安装 Shadow Defender 影子卫士时可以用“DeepFreeze冰点还原精灵”或者
    ; “PowerShadow影子系统”或者“Returnil Virtual System(RVS)”来代替影子卫士
    ;
    ;===========================================
    ;*/

    #SingleInstance,force
    loop,2
    {
    DetectHiddenWindows,On
    Sleep,5
    IfWinExist,QQ595076941_AutoAHKRun
    ExitApp
    }
    Gui, Show, Hide,QQ595076941_AutoAHKRun
    #Persistent
    ; #NoTrayIcon
    DetectHiddenWindows,On
    SetTitleMatchMode,2
    ; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ; Hotkey,F8,ActivateOrHideWindowHotkey
    ActivateOrHideWindowHotkey()
    return
    ; ——————————————————–
    ActivateOrHideWindowHotkey()
    {
    ; MsgBox,PressedHotkey检测到已经按下快捷键
    TCTitle:=”Total Commander”
    Sleep,5
    WinGetActiveTitle,Title
    IfInString,Title,%TCTitle%
    {
    Sleep,5
    IfWinActive,Total Commander
    {
    Sleep,5
    IfWinActive,ahk_class TTOTAL_CMD
    {
    ; MsgBox,MinimizeWindow最小化指定窗口
    WinMinimize,Total Commander ahk_class TTOTAL_CMD
    Sleep,5
    ExitApp
    }
    }
    }
    else
    {
    ; MsgBox,ActivateWindow显示并且最大化并且激活指定窗口
    SetTimer,ActivateWindowTimer,200
    }
    }
    ; ——————————————————–
    ;根据窗口类名显示并激活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
    WinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeight
    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%
    {
    Sleep,5
    IfWinActive,Total Commander
    {
    Sleep,5
    IfWinActive,ahk_class TTOTAL_CMD
    {
    Sleep,5
    if WinActive(“Total Commander”)
    {
    Sleep,5
    if WinActive(ahk_class TTOTAL_CMD)
    {
    ;等待指定标题窗口出现
    ; WinWait, Total Commander 10.00 – Ustav fyziky kondenzovanych latek ahk_class TTOTAL_CMD ahk_exe TotalCMD-v10.exe, [Win 7 Ult
    SetTimer,ActivateWindowTimer,Delete
    Sleep,5
    ExitApp
    }
    }
    }
    }
    }
    }

    ;================= The End =================

    ;

  6. aahk

    ;/*
    ;===========================================
    ; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ; https://www.autoahk.com/archives/37780
    ;
    ; 脚本作者 : ds920
    ; 最新版本 : 1.0
    ; 更新时间 : 2021年12月22日
    ;
    ; 用法: (需要最新版本 AHK v1.1.31+)
    ; 1. 到飞扬时空的新浪博客下载并安装TotalCommander中文增强版到文件夹D:TotalCMD
    ; 2. 将本脚本保存为“RunTC.ahk”并复制到D:TotalCMD文件夹中
    ; 3. 使用Maye来设置RunTC.ahk的热键为 F8
    ;
    ; 由于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文件服务来管理网址、用户名、账号、密码、口令、暗号、纪念日等个人敏感隐私信息和数据
    ; 可以用FileZilla Pro 专业版软件异地远程连接群晖的WebDAV文件服务并
    ; 批量上传文件夹到群晖的 RAID 1 镜像存储池中的共享文件夹之中
    ; 可以用腾讯文档的电脑客户端来新建在线文档和在线表格来进行办公文档和办公表格的分享和协作
    ; 可以用Bulk Rename Utility 2.7.1.2来批量重命名或者编号群晖WebDAV文件服务中的共享文件夹中的大量文件
    ; 可以用Double Killer Pro V 2.1.0.104来批量删除群晖WebDAV文件服务中的共享文件夹中的重复文件
    ; 可以安装并升级更新“火绒安全软件”来防杀电脑病毒木马恶意软件并拦截垃圾广告弹出的骚扰窗口
    ; 可以用SGI备份还原映像总裁镜像总裁一键还原工具软件来备份保护Windows操作系统和
    ; 电脑中应用程序软件和设置到GHO系统镜像文件
    ; SGI备份还原映像总裁镜像总裁一键还原工具软件官方网址是 https://www.sysceo.com/Software-softwarei-id-253.html
    ; 以便今后用杏雨梨云启动维护系统可启动固态U盘来恢复电脑系统应用程序软件GHO系统镜像文件到电脑的系统分区C盘
    ; 可以用Shadow Defender 影子卫士来保护Windows操作系统和电脑中应用程序软件的设置,
    ; 防止电脑软件设置被未授权的用户和程序非法更改和破坏
    ; 如果无法安装 Shadow Defender 影子卫士时可以用“DeepFreeze冰点还原精灵”或者
    ; “PowerShadow影子系统”或者“Returnil Virtual System(RVS)”来代替影子卫士
    ;
    ;===========================================
    ;*/

    #SingleInstance,force
    loop,2
    {
    DetectHiddenWindows,On
    Sleep,5
    IfWinExist,QQ595076941_AutoAHKRun
    ExitApp
    }
    Gui, Show, Hide,QQ595076941_AutoAHKRun
    #Persistent
    ; #NoTrayIcon
    DetectHiddenWindows,On
    SetTitleMatchMode,2
    ; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ; Hotkey,F8,ActivateOrHideWindowHotkey
    ActivateOrHideWindowHotkey()
    return
    ; ——————————————————–
    ActivateOrHideWindowHotkey()
    {
    ; MsgBox,PressedHotkey检测到已经按下快捷键
    TCTitle:=”Total Commander”
    Sleep,5
    WinGetActiveTitle,Title
    IfInString,Title,%TCTitle%
    {
    Sleep,5
    IfWinActive,Total Commander
    {
    Sleep,5
    IfWinActive,ahk_class TTOTAL_CMD
    {
    ; MsgBox,MinimizeWindow最小化指定窗口
    WinMinimize,Total Commander ahk_class TTOTAL_CMD
    Sleep,5
    ExitApp
    }
    }
    }
    else
    {
    ; MsgBox,ActivateWindow显示并且最大化并且激活指定窗口
    SetTimer,ActivateWindowTimer,200
    }
    }
    ; ——————————————————–
    ;根据窗口类名显示并激活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
    WinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeight
    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%
    {
    Sleep,5
    IfWinActive,Total Commander
    {
    Sleep,5
    IfWinActive,ahk_class TTOTAL_CMD
    {
    Sleep,5
    if WinActive(“Total Commander”)
    {
    Sleep,5
    if WinActive(ahk_class TTOTAL_CMD)
    {
    ;等待指定标题窗口出现
    ; WinWait, Total Commander 10.00 – Ustav fyziky kondenzovanych latek
    ; ahk_class TTOTAL_CMD ahk_exe TotalCMD-v10.exe, [Win 7 Ult
    SetTimer,ActivateWindowTimer,Delete
    Sleep,5
    ExitApp
    }
    }
    }
    }
    }
    }

    ;================= The End =================

    ;

    ;================= 根据窗口类名激活或者隐藏窗口的AutoHotkey函数 =================
    /*
    ; 请使用 窗口信息工具 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%
    }
    */

  7. aahk

    ;/*
    ;===========================================
    ; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ; https://www.autoahk.com/archives/37780
    ;
    ; 脚本作者 : ds920
    ; 最新版本 : 1.1
    ; 更新时间 : 2021年12月22日
    ;
    ; 用法: (需要最新版本 AHK v1.1.31+)
    ; 1. 到飞扬时空的新浪博客下载并安装TotalCommander中文增强版到文件夹D:TotalCMD
    ; 2. 将本脚本保存为“RunTC.ahk”并复制到D:TotalCMD文件夹中
    ; 3. 使用Maye来设置RunTC.ahk的热键为 F8
    ;
    ; 升级更新历史:
    ; 1. 2021年12月22日 新建 创建此AutoHotkey脚本并测试通过F8热键功能
    ; 2. 2021年12月22日 修改 调整删除 SetTimer 定时器时判断TC主窗口是否激活的顺序
    ; 把基于窗口类的激活判断语句“if WinActive(ahk_class TTOTAL_CMD)”放在最外层
    ; 防止有相同标题的窗口激活时(例如:相同标题的浏览器等等)窗口激活误判
    ;
    ; 由于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文件服务来管理网址、用户名、账号、密码、口令、暗号、纪念日等个人敏感隐私信息和数据
    ; 可以用FileZilla Pro 专业版软件异地远程连接群晖的WebDAV文件服务并
    ; 批量上传文件夹到群晖的 RAID 1 镜像存储池中的共享文件夹之中
    ; 可以用腾讯文档的电脑客户端来新建在线文档和在线表格来进行办公文档和办公表格的分享和协作
    ; 可以用Bulk Rename Utility 2.7.1.2来批量重命名或者编号群晖WebDAV文件服务中的共享文件夹中的大量文件
    ; 可以用Double Killer Pro V 2.1.0.104来批量删除群晖WebDAV文件服务中的共享文件夹中的重复文件
    ; 可以安装并升级更新“火绒安全软件”来防杀电脑病毒木马恶意软件并拦截垃圾广告弹出的骚扰窗口
    ; 可以用SGI备份还原映像总裁镜像总裁一键还原工具软件来备份保护Windows操作系统和
    ; 电脑中应用程序软件和设置到GHO系统镜像文件
    ; SGI备份还原映像总裁镜像总裁一键还原工具软件官方网址是 https://www.sysceo.com/Software-softwarei-id-253.html
    ; 以便今后用杏雨梨云启动维护系统可启动固态U盘来恢复电脑系统应用程序软件GHO系统镜像文件到电脑的系统分区C盘
    ; 可以用Shadow Defender 影子卫士来保护Windows操作系统和电脑中应用程序软件的设置,
    ; 防止电脑软件设置被未授权的用户和程序非法更改和破坏
    ; 如果无法安装 Shadow Defender 影子卫士时可以用“DeepFreeze冰点还原精灵”或者
    ; “PowerShadow影子系统”或者“Returnil Virtual System(RVS)”来代替影子卫士
    ;
    ;===========================================
    ;*/

    #SingleInstance,force
    loop,2
    {
    DetectHiddenWindows,On
    Sleep,5
    IfWinExist,QQ595076941_AutoAHKRun
    ExitApp
    }
    Gui, Show, Hide,QQ595076941_AutoAHKRun
    #Persistent
    ; #NoTrayIcon
    DetectHiddenWindows,On
    SetTitleMatchMode,2
    ; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ; Hotkey,F8,ActivateOrHideWindowHotkey
    ActivateOrHideWindowHotkey()
    return
    ; ——————————————————–
    ActivateOrHideWindowHotkey()
    {
    ; MsgBox,PressedHotkey检测到已经按下快捷键
    Sleep,5
    IfWinActive,ahk_class TTOTAL_CMD
    {
    Sleep,5
    IfWinActive,Total Commander
    {
    TCTitle:=”Total Commander”
    Sleep,5
    WinGetActiveTitle,Title
    IfInString,Title,%TCTitle%
    {
    ; MsgBox,MinimizeWindow最小化指定窗口
    WinMinimize,Total Commander ahk_class TTOTAL_CMD
    Sleep,5
    ExitApp
    }
    }
    }
    else
    {
    ; MsgBox,ActivateWindow显示并且最大化并且激活指定窗口
    SetTimer,ActivateWindowTimer,200
    }
    }
    ; ——————————————————–
    ;根据窗口类名显示并激活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
    WinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeight
    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计时器循环执行,
    ; 如果激活失败则继续尝试激活指定窗口

    Sleep,5
    if WinActive(ahk_class TTOTAL_CMD)
    {
    Sleep,5
    IfWinActive,ahk_class TTOTAL_CMD
    {
    Sleep,5
    IfWinActive,Total Commander
    {
    Sleep,5
    if WinActive(“Total Commander”)
    {
    TCTitle:=”Total Commander”
    Sleep,5
    WinGetActiveTitle,Title
    IfInString,Title,%TCTitle%
    {
    ;等待指定标题窗口出现
    ; WinWait, Total Commander 10.00 – Ustav fyziky kondenzovanych latek
    ; ahk_class TTOTAL_CMD ahk_exe TotalCMD-v10.exe, [Win 7 Ult
    SetTimer,ActivateWindowTimer,Delete
    Sleep,5
    ExitApp
    }
    }
    }
    }
    }
    }

    ;================= The End =================

    ;

    /*

    ;================= 根据窗口类名激活或者隐藏窗口的AutoHotkey函数 =================
    ; 请使用 窗口信息工具 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%
    }

    */

  8. aahk

    ;
    ;/*
    ;===========================================
    ; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ; https://www.autoahk.com/archives/37780
    ; https://www.cnblogs.com/delphixx/p/15718194.html
    ;
    ; 脚本作者 : ds920
    ; 最新版本 : 1.1
    ; 更新时间 : 2021年12月22日
    ;
    ; 用法: (需要最新版本 AHK v1.1.31+)
    ; 1. 到飞扬时空的新浪博客下载并安装TotalCommander中文增强版到文件夹D:TotalCMD
    ; 2. 将本脚本保存为“RunTC.ahk”并复制到D:TotalCMD文件夹中
    ; 3. 使用Maye来设置RunTC.ahk的热键为 F8
    ;
    ; 升级更新历史:
    ; 版本1.0 2021年12月22日 新建 创建此AutoHotkey脚本并测试通过F8热键功能
    ; 版本1.1 2021年12月22日 修改 调整删除 SetTimer 定时器时判断TC主窗口是否激活的顺序
    ; 把基于窗口类的激活判断语句“if WinActive(ahk_class TTOTAL_CMD)”放在最外层
    ; 防止有相同标题的窗口激活时(例如:相同标题的浏览器等等)窗口激活误判
    ;
    ; 由于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文件服务来管理网址、用户名、账号、密码、口令、暗号、纪念日等个人敏感隐私信息和数据
    ; 可以用FileZilla Pro 专业版软件异地远程连接群晖的WebDAV文件服务并
    ; 批量上传文件夹到群晖的 RAID 1 镜像存储池中的共享文件夹之中
    ; 可以用腾讯文档的电脑客户端来新建在线文档和在线表格来进行办公文档和办公表格的分享和协作
    ; 可以用Bulk Rename Utility 2.7.1.2来批量重命名或者编号群晖WebDAV文件服务中的共享文件夹中的大量文件
    ; 可以用Double Killer Pro V 2.1.0.104来批量删除群晖WebDAV文件服务中的共享文件夹中的重复文件
    ; 可以安装并升级更新“火绒安全软件”来防杀电脑病毒木马恶意软件并拦截垃圾广告弹出的骚扰窗口
    ; 可以用SGI备份还原映像总裁镜像总裁一键还原工具软件来备份保护Windows操作系统和
    ; 电脑中应用程序软件和设置到GHO系统镜像文件
    ; SGI备份还原映像总裁镜像总裁一键还原工具软件官方网址是 https://www.sysceo.com/Software-softwarei-id-253.html
    ; 以便今后用杏雨梨云启动维护系统可启动固态U盘来恢复电脑系统应用程序软件GHO系统镜像文件到电脑的系统分区C盘
    ; 可以用Shadow Defender 影子卫士来保护Windows操作系统和电脑中应用程序软件的设置,
    ; 防止电脑软件设置被未授权的用户和程序非法更改和破坏
    ; 如果无法安装 Shadow Defender 影子卫士时可以用“DeepFreeze冰点还原精灵”或者
    ; “PowerShadow影子系统”或者“Returnil Virtual System(RVS)”来代替影子卫士
    ;
    ;===========================================
    ;*/

    #SingleInstance,force
    loop,2
    {
    DetectHiddenWindows,On
    Sleep,5
    IfWinExist,QQ595076941_AutoAHKRun
    ExitApp
    }
    Gui, Show, Hide,QQ595076941_AutoAHKRun
    #Persistent
    ; #NoTrayIcon
    DetectHiddenWindows,On
    SetTitleMatchMode,2
    ; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ; Hotkey,F8,ActivateOrHideWindowHotkey
    ActivateOrHideWindowHotkey()
    return
    ; ——————————————————–
    ActivateOrHideWindowHotkey()
    {
    ; MsgBox,PressedHotkey检测到已经按下快捷键
    Sleep,5
    IfWinActive,ahk_class TTOTAL_CMD
    {
    Sleep,5
    IfWinActive,Total Commander
    {
    TCTitle:=”Total Commander”
    Sleep,5
    WinGetActiveTitle,Title
    IfInString,Title,%TCTitle%
    {
    ; MsgBox,MinimizeWindow最小化指定窗口
    WinMinimize,Total Commander ahk_class TTOTAL_CMD
    Sleep,5
    ExitApp
    }
    }
    }
    else
    {
    ; MsgBox,ActivateWindow显示并且最大化并且激活指定窗口
    SetTimer,ActivateWindowTimer,200
    }
    }
    ; ——————————————————–
    ;根据窗口类名显示并激活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
    WinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeight
    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计时器循环执行,
    ; 如果激活失败则继续尝试激活指定窗口

    Sleep,5
    if WinActive(ahk_class TTOTAL_CMD)
    {
    Sleep,5
    IfWinActive,ahk_class TTOTAL_CMD
    {
    Sleep,5
    IfWinActive,Total Commander
    {
    Sleep,5
    if WinActive(“Total Commander”)
    {
    TCTitle:=”Total Commander”
    Sleep,5
    WinGetActiveTitle,Title
    IfInString,Title,%TCTitle%
    {
    ;等待指定标题窗口出现
    ; WinWait, Total Commander 10.00 – Ustav fyziky kondenzovanych latek
    ; ahk_class TTOTAL_CMD ahk_exe TotalCMD-v10.exe, [Win 7 Ult
    SetTimer,ActivateWindowTimer,Delete
    Sleep,5
    ExitApp
    }
    }
    }
    }
    }
    }

    ;================= The End =================

    ;

    /*

    ;================= 根据窗口类名激活或者隐藏窗口的AutoHotkey函数 =================
    ; 请使用 窗口信息工具 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%
    }

    */
    ;

  9. aahk

    ; 版本1.2 2021年12月22日 修改 语法错误,
    ; 少了个双引号 if WinActive(“ahk_class” TTOTAL_CMD)
    ; 修改 合并多个if为一行比较长的if语句,一次判断Totoal Commander主窗口是否激活成功
    ; if (WinActive(“ahk_class” TTOTAL_CMD) and (IfWinActive,ahk_class TTOTAL_CMD) and (IfWinActive,Total Commander) and (if WinActive(“Total Commander”)))

    修改之后的源代码如下:

    ;
    ;/*
    ;===========================================
    ; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ; https://www.autoahk.com/archives/37780
    ; https://www.cnblogs.com/delphixx/p/15718194.html
    ;
    ; 脚本作者 : ds920
    ; 最新版本 : 1.2
    ; 更新时间 : 2021年12月22日
    ;
    ; 用法: (需要最新版本 AHK v1.1.31+)
    ; 1. 到飞扬时空的新浪博客下载并安装TotalCommander中文增强版到文件夹D:TotalCMD
    ; 2. 将本脚本保存为“RunTC.ahk”并复制到D:TotalCMD文件夹中
    ; 3. 使用Maye来设置RunTC.ahk的热键为 F8
    ;
    ; 升级更新历史:
    ; 版本1.0 2021年12月22日 新建 创建此AutoHotkey脚本并测试通过F8热键功能
    ; 版本1.1 2021年12月22日 修改 调整删除 SetTimer 定时器时判断TC主窗口是否激活的顺序
    ; 把基于窗口类的激活判断语句“if WinActive(ahk_class TTOTAL_CMD)”放在最外层
    ; 防止有相同标题的窗口激活时(例如:相同标题的浏览器等等)窗口激活误判
    ; 版本1.2 2021年12月22日 修改 语法错误,
    ; 少了个双引号 if WinActive(“ahk_class” TTOTAL_CMD)
    ; 修改 合并多个if为一行比较长的if语句,一次判断Totoal Commander主窗口是否激活成功
    ; if (WinActive(“ahk_class” TTOTAL_CMD) and (IfWinActive,ahk_class TTOTAL_CMD) and (IfWinActive,Total Commander) and (if WinActive(“Total Commander”)))
    ;
    ; 由于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文件服务来管理网址、用户名、账号、密码、口令、暗号、纪念日等个人敏感隐私信息和数据
    ; 可以用FileZilla Pro 专业版软件异地远程连接群晖的WebDAV文件服务并
    ; 批量上传文件夹到群晖的 RAID 1 镜像存储池中的共享文件夹之中
    ; 可以用腾讯文档的电脑客户端来新建在线文档和在线表格来进行办公文档和办公表格的分享和协作
    ; 可以用Bulk Rename Utility 2.7.1.2来批量重命名或者编号群晖WebDAV文件服务中的共享文件夹中的大量文件
    ; 可以用Double Killer Pro V 2.1.0.104来批量删除群晖WebDAV文件服务中的共享文件夹中的重复文件
    ; 可以安装并升级更新“火绒安全软件”来防杀电脑病毒木马恶意软件并拦截垃圾广告弹出的骚扰窗口
    ; 可以用SGI备份还原映像总裁镜像总裁一键还原工具软件来备份保护Windows操作系统和
    ; 电脑中应用程序软件和设置到GHO系统镜像文件
    ; SGI备份还原映像总裁镜像总裁一键还原工具软件官方网址是 https://www.sysceo.com/Software-softwarei-id-253.html
    ; 以便今后用杏雨梨云启动维护系统可启动固态U盘来恢复电脑系统应用程序软件GHO系统镜像文件到电脑的系统分区C盘
    ; 可以用Shadow Defender 影子卫士来保护Windows操作系统和电脑中应用程序软件的设置,
    ; 防止电脑软件设置被未授权的用户和程序非法更改和破坏
    ; 如果无法安装 Shadow Defender 影子卫士时可以用“DeepFreeze冰点还原精灵”或者
    ; “PowerShadow影子系统”或者“Returnil Virtual System(RVS)”来代替影子卫士
    ;
    ;===========================================
    ;*/

    #SingleInstance,force
    loop,2
    {
    DetectHiddenWindows,On
    Sleep,5
    IfWinExist,QQ595076941_AutoAHKRun
    ExitApp
    }
    Gui, Show, Hide,QQ595076941_AutoAHKRun
    #Persistent
    ; #NoTrayIcon
    DetectHiddenWindows,On
    SetTitleMatchMode,2
    ; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8
    ; Hotkey,F8,ActivateOrHideWindowHotkey
    ActivateOrHideWindowHotkey()
    return
    ; ——————————————————–
    ActivateOrHideWindowHotkey()
    {
    ; MsgBox,PressedHotkey检测到已经按下快捷键
    Sleep,5
    IfWinActive,ahk_class TTOTAL_CMD
    {
    Sleep,5
    IfWinActive,Total Commander
    {
    TCTitle:=”Total Commander”
    Sleep,5
    WinGetActiveTitle,Title
    IfInString,Title,%TCTitle%
    {
    ; MsgBox,MinimizeWindow最小化指定窗口
    WinMinimize,Total Commander ahk_class TTOTAL_CMD
    Sleep,5
    ExitApp
    }
    }
    }
    else
    {
    ; MsgBox,ActivateWindow显示并且最大化并且激活指定窗口
    SetTimer,ActivateWindowTimer,200
    }
    }
    ; ——————————————————–
    ;根据窗口类名显示并激活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
    WinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeight
    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计时器循环执行,
    ; 如果激活失败则继续尝试激活指定窗口

    Sleep,5
    if (WinActive(“ahk_class” TTOTAL_CMD) and (IfWinActive,ahk_class TTOTAL_CMD) and (IfWinActive,Total Commander) and (if WinActive(“Total Commander”)))
    {
    ;等待指定标题窗口出现
    ; WinWait, Total Commander 10.00 – Ustav fyziky kondenzovanych latek
    ; ahk_class TTOTAL_CMD ahk_exe TotalCMD-v10.exe, [Win 7 Ult
    SetTimer,ActivateWindowTimer,Delete
    Sleep,5
    ExitApp
    }
    }

    ;================= The End =================

    ;

    /*

    ;================= 根据窗口类名激活或者隐藏窗口的AutoHotkey函数 =================
    ; 请使用 窗口信息工具 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%
    }

    */
    ;

  10. aahk

    为了防止丢失此AutoHotkey源代码,为了防止今后找不到此AutoHotkey源代码,我已经把此源代码上传保存到各种品牌和类型的云存储网盘之中,并用打印机打印多份源代码并把打印出来的源代码同时存放在不同的地理位置。源代码的打印稿如下图片所示:

  11. aahk

    我用 Maye 设置 执行此AutoHotkey脚本的快捷键热键为F8的理由是:

    1、Maye支持用拼音首字母搜索快捷方式项目,
    并且在搜索拼音首字母关键字序列时无需单击放大镜搜索图标就可以在主窗口中直接输入,特别方便快捷。

    2、Maye中设置的快捷方式的快捷键比较稳定可靠,不像AutoHotkey脚本中设置的热键有时候会失效,
    需要单击一下任务栏或者桌面空白处后AutoHoteky脚本中设置的快捷键才会恢复有效状态。

    3、Maye的快捷方式数据库保存在 JDB.json 文件中,单个位置固定的数据库文件手动备份起来非常方便。
    并且Maye也支持自动备份数据文件 JDB.json 非常完美好用。

    4、Maye的配置选项非常丰富,通过修改 cfg.ini 配置文件也可以调整主窗口的大小位置等配置参数,很好用。

    5、Maye绿色无需安装可以直接运行,并且Maye主窗口的激活弹出显示和隐藏的速度非常快,比较简洁高效。

    6、Maye简洁小巧绿色免装快速高效免费,由于Maye是完全免费自由使用的,
    当然您也可以赞助Maye的软件作者。

    到目前为止我还没有发现比 Maye 更好用的 电脑软件快速启动辅助工具 ,假如您发现有类似的或者更好用的快速启动软件请在此文章回帖告知

    谢谢

    ; https://blog.arae.cc/post/25830.html
    ; https://github.com/25H/Maya/releases/

个人中心
购物车
优惠劵
有新私信 私信列表
搜索