GoodSync 2025年10月17日
GoodSync 2025年10月17日
一、GoodSync

GoodSync Version 10.12.0.0(x64) 说明文档 Readme
请不要使用更高版本或者更低版本的GoodSync
注意:实时双向同步任务的左侧文件夹或者右侧文件夹不存在时会丢失任务的自动设置。
rem 覆盖复制文件,一键备份任务列表-任务选项-程序选项,备份用户自定义的最佳状态
del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\bak-accounts-bookmarks.tic
del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\bak-jobs-groups-options.tic
del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\bak-prog-options-local.tix
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\LocalAcct.tic
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\server-accounts.tic
del /F /Q %LOCALAPPDATA%\GoodSync\bak-accounts-bookmarks.tic
del /F /Q %LOCALAPPDATA%\GoodSync\bak-jobs-groups-options.tic
del /F /Q %LOCALAPPDATA%\GoodSync\bak-prog-options-local.tix
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\LocalAcct.tic
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\server-accounts.tic
copy /Y C:\Users\Administrator\AppData\Local\GoodSync\accounts-bookmarks.tic C:\Users\Administrator\AppData\Local\GoodSync\bak-accounts-bookmarks.tic
copy /Y C:\Users\Administrator\AppData\Local\GoodSync\jobs-groups-options.tic C:\Users\Administrator\AppData\Local\GoodSync\bak-jobs-groups-options.tic
copy /Y C:\Users\Administrator\AppData\Local\GoodSync\prog-options-local.tix C:\Users\Administrator\AppData\Local\GoodSync\bak-prog-options-local.tix
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\LocalAcct.tic
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\server-accounts.tic
copy /Y %LOCALAPPDATA%\GoodSync\accounts-bookmarks.tic %LOCALAPPDATA%\GoodSync\bak-accounts-bookmarks.tic
copy /Y %LOCALAPPDATA%\GoodSync\jobs-groups-options.tic %LOCALAPPDATA%\GoodSync\bak-jobs-groups-options.tic
copy /Y %LOCALAPPDATA%\GoodSync\prog-options-local.tix %LOCALAPPDATA%\GoodSync\bak-prog-options-local.tix
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\LocalAcct.tic
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\server-accounts.tic
打开当前用户开始菜单启动项文件夹
start "" "shell:startup"
打开所有用户开始菜单启动项文件夹
start "" "shell:common startup"
打开当前用户配置文件夹
cd /d %~DP0
start "" C:\Users\Administrator\AppData\Local\GoodSync\
打开当前用户配置文件夹
cd /d %~DP0
start "" %LOCALAPPDATA%\GoodSync
一、 说明文档 1Readme
即此文档,编辑好后保存为xlsx和pdf两种格式文件。
二、 补丁 2Cra--ck--Pat--ch
1、 GoodSync.exe 为已经用补丁过的应用程序,无需再次。
运行GoodSync后点击帮助 关于 看到FixedV10字样表示成功。
后可以新建3个以上的任务,后单个任务可以同步100个以上的文件,后可以自动化执行任务,后可以查看日志(更高版本无法查看日志)。
三、 应用程序 3APP
1、已经后的免安装GoodSync Version 10.12.0.0(x86)
四、 恢复设置 4ResetConfig
除不要使用分析动画、启动时自动启动、快捷方式不要添加到桌面这3项外,Alt+P程序选项和Alt+O任务选项的信息都保存在文件jobs-groups-options.tic中。
由于任务列表保存在accounts-bookmarks.tic 和jobs-groups-options.tic 这2个文件中,所以恢复任务列表时必需同时覆盖复制这两个文件,两个文件都覆盖复制才能恢复任务列表。
1、 工具 程序选项 常规 不要使用分析动画
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Siber Systems\GoodSync]
"Str_NoAnimations"=dword:00000001
2、工具 程序选项 常规 d
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"GoodSync"="\"D:\\APP\\GoodSync\\3APP\\GoodSync.exe\" /min"
3、工具 程序选项 常规 将GoodSync快捷方式添加到桌面
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Siber Systems\GoodSync]
"InstDesktopShortCut"=dword:00000000
注意:此注册表值只会影响到程序选项对话框显示是否勾选,不会影响桌面是否存在快捷方式。
4、文件C:\Users\Administrator\AppData\Local\GoodSync\jobs-groups-options.tic用于保存以下 工具 程序选项(Alt+P):
A、工具 程序选项 常规 按照字母顺序对任务名称排序(需要重新启动)
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=0|t=1|o=1|c=1|n=2|e=0|r:0:|M=1|S[a:0:|b=587|c=0|d:0:|p:0:|f:0:|g=1|h:0:|]T[a=0|b:0:|c=3128|d:0:|e:0:|f=1|s=1|]a=1|L=15|N:0:|B=0|Q=1|O=3|G=12|1=0
B、工具 程序选项 常规 显示备份/同步任务组(需要重新启动)[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=0|t=1|o=1|c=1|n=2|e=0|r:0:|M=1|S[a:0:|b=587|c=0|d:0:|p:0:|f:0:|g=1|h:0:|]T[a=0|b:0:|c=3128|d:0:|e:0:|f=1|s=1|]a=1|L=15|N:0:|B=0|Q=1|O=3|G=12|1=0|4=0
C、工具 程序选项 常规 在系统托盘中显示GoodSync图标
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=1|t=1
D、工具 程序选项 常规 主窗口关闭时隐藏到系统托盘
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=1
E、工具 程序选项 常规 警告时间超出范围
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=1|t=1|o=1|c=1|n=2|e=0|r:0:|M=1|S[a:0:|b=587|c=0|d:0:|p:0:|f:0:|g=1|h:0:|]T[a=0|b:0:|c=3128|d:0:|e:0:|f=1|s=1|]a=1|L=15|N:0:|B=0
F、工具 程序选项 常规 日志详细级别 2-操作
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=1|t=1|o=1|c=1|n=2
G、工具 程序选项 常规 存储日志到文件夹 留空则默认保存到文件夹
C:\Users\Administrator\AppData\Local\GoodSync\
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=1|t=1|o=1|c=1|n=2|e=0|r:0:|M=1|S[a:0:|b=587|c=0|d:0:|p:0:|f:0:|g=1|h:0:|]T[a=0|b:0:|c=3128|d:0:|e:0:|f=1|s=1|]a=1|L=15|N:0:|
H、工具 程序选项 常规 日志内容保留天数 90天
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=1|t=1|o=1|c=1|n=2|e=0|r:0:|M=1|S[a:0:|b=587|c=0|d:0:|p:0:|f:0:|g=1|h:0:|]T[a=0|b:0:|c=3128|d:0:|e:0:|f=1|s=1|]a=1|L=90|
I、工具 程序选项 自动 当没有活动任务时,自动隐藏迷你窗口
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=1|t=1|o=1|c=1|n=2|e=0|r:0:|M=1|S[a:0:|b=587|c=0|d:0:|p:0:|f:0:|g=1|h:0:|]T[a=0|b:0:|c=3128|d:0:|e:0:|f=1|s=1|]a=1
J、工具 程序选项 自动 自动按照最大并行数量运行任务
1表示所有任务自动启动 按照顺序执行。
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=1|t=1|o=1|c=1|n=2|e=0|r:0:|M=1|S[a:0:|b=587|c=0|d:0:|p:0:|f:0:|g=1|h:0:|]T[a=0|b:0:|c=3128|d:0:|e:0:|f=1|s=1|]a=1|L=15|N:0:|B=0|Q=1
K、工具 程序选项 自动 自动运行任务检查定量(单位:秒)
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=1|t=1|o=1|c=1|n=2|e=0|r:0:|M=1|S[a:0:|b=587|c=0|d:0:|p:0:|f:0:|g=1|h:0:|]T[a=0|b:0:|c=3128|d:0:|e:0:|f=1|s=1|]a=1|L=15|N:0:|B=0|Q=1|O=3
K、工具 程序选项 自动 保存文件历史记录月数 12个月
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=1|t=1|o=1|c=1|n=2|e=0|r:0:|M=1|S[a:0:|b=587|c=0|d:0:|p:0:|f:0:|g=1|h:0:|]T[a=0|b:0:|c=3128|d:0:|e:0:|f=1|s=1|]a=1|L=15|N:0:|B=0|Q=1|O=3|G=12
L、工具 程序选项 自动 每天检查新版本 0表示不检查新版本GoodSync
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=1|t=1|o=1|c=0
M、工具 程序选项 自动 自动安装新版本 0表示不自动安装新版本GoodSync
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=1|t=1|o=1|c=0|n=2|e=0|r:0:|M=1|S[a:0:|b=587|c=0|d:0:|p:0:|f:0:|g=1|h:0:|]T[a=0|b:0:|c=3128|d:0:|e:0:|f=1|s=1|]a=0|L=90|N:8:C:/22300|B=0|Q=3|O=5|G=14|1=0|4=0|D=0
M、工具 程序选项 安全 本地加密保存连接密码 1表示加密保存
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]z=1|t=1|o=1|c=0|n=2|e=0|r:0:|M=1|S[a:0:|b=587|c=0|d:0:|p:0:|f:0:|g=1|h:0:|]T[a=0|b:0:|c=3128|d:0:|e:0:|f=1|s=1|]a=0|L=90|N:8:C:/22300|B=0|Q=3|O=5|G=14|1=0|4=0|D=0|2:0:|3:0:|5:0:|K=1
N、工具 程序选项 过滤器 i为空表示包含全部 x表示在包含选项后进行排除过滤
[v:0:|o[F[F=0|H=0|S=0|T=1|m=0|i[L<>]x[L<:9:.DS_Store|:9:Thumbs.db|:13:name *._gstmp|>]]
5、所有任务的信息保存在2个文件
C:\Users\Administrator\AppData\Local\GoodSync\accounts-bookmarks.tic 和
C:\Users\Administrator\AppData\Local\GoodSync\ jobs-groups-options.tic 文件中,恢复任务列表时必需同时覆盖复制这两个文件,或者工具 导入任务列表tix文件。
6、工具 程序选项 (Alt+P)设置的信息保存在文件jobs-groups-options.tic的上半部分,右击任务名 选项 (Alt+O)设置的信息保存在文件jobs-groups-options.tic的下半部分
五、 设置Windows启动时自动启动GoodSync 5SetAutoRun
1、用7z压缩包自解压制作工具Fc-SysCeo.Com-Formceo压缩打包批处理脚本文件。
六、 运行GoodSync并隐藏主窗口到系统托盘
start "" "C:\Program Files\Siber Systems\GoodSync\GoodSync.exe" /tray
start "" "C:\Program Files\Siber Systems\GoodSync\GoodSync.exe" /Min
七、 用7z压缩包自解压制作工具Fc把GoodSync压缩打包成绿色免安装便携单文件应用软件程序包
解决GoodSyncv10被强制升级到v12重新用回V10
rem 导入注册表文件,不要使用分析动画、启动时自动启动、快捷方式不要添加到桌面
cd /d %~DP0
reg delete "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\GoodSync" /f
reg delete "HKEY_CURRENT_USER\SOFTWARE\Siber Systems\GoodSync\Str_NoAnimations" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Siber Systems\GoodSync\InstDesktopShortCut" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v GoodSync /t REG_SZ /d "D:\APP\GoodSync\5SetAutoRun\5SetAutoRun.exec" /f
reg import %~DP0reg.reg
regedit /s %~DP0reg.reg
rem 覆盖复制文件,恢复程序选项、任务选项和任务列表( ajp )到用户自定义的最佳状态
del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\accounts-bookmarks.tic
del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\jobs-groups-options.tic
del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\prog-options-local.tix
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\LocalAcct.tic
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\server-accounts.tic
del /F /Q %LOCALAPPDATA%\GoodSync\accounts-bookmarks.tic
del /F /Q %LOCALAPPDATA%\GoodSync\jobs-groups-options.tic
del /F /Q %LOCALAPPDATA%\GoodSync\prog-options-local.tix
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\LocalAcct.tic
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\server-accounts.tic
copy /Y D:\APP\GoodSync\4ResetConfig\bak-jobs-options\accounts-bookmarks.tic C:\Users\Administrator\AppData\Local\GoodSync\accounts-bookmarks.tic
copy /Y D:\APP\GoodSync\4ResetConfig\bak-jobs-options\jobs-groups-options.tic C:\Users\Administrator\AppData\Local\GoodSync\jobs-groups-options.tic
copy /Y D:\APP\GoodSync\4ResetConfig\bak-jobs-options\prog-options-local.tix C:\Users\Administrator\AppData\Local\GoodSync\prog-options-local.tix
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\LocalAcct.tic
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\server-accounts.tic
copy /Y D:\APP\GoodSync\4ResetConfig\bak-jobs-options\accounts-bookmarks.tic %LOCALAPPDATA%\GoodSync\accounts-bookmarks.tic
copy /Y D:\APP\GoodSync\4ResetConfig\bak-jobs-options\jobs-groups-options.tic %LOCALAPPDATA%\GoodSync\jobs-groups-options.tic
copy /Y D:\APP\GoodSync\4ResetConfig\bak-jobs-options\prog-options-local.tix %LOCALAPPDATA%\GoodSync\prog-options-local.tix
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\LocalAcct.tic
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\server-accounts.tic
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"GoodSync"="\"D:\\APP\\GoodSync\\3APP\\GoodSync.exe\" /min"
[HKEY_CURRENT_USER\SOFTWARE\Siber Systems\GoodSync]
"Str_NoAnimations"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Siber Systems\GoodSync]
"InstDesktopShortCut"=dword:00000000
cd /d %~DP0
start "" %LOCALAPPDATA%\GoodSync
rem 覆盖复制文件,一键备份任务列表-任务选项-程序选项,备份用户自定义的最佳状态
del /F /Q D:\APP\GoodSync\4ResetConfig\bak-jobs-options\accounts-bookmarks.tic
del /F /Q D:\APP\GoodSync\4ResetConfig\bak-jobs-options\jobs-groups-options.tic
del /F /Q D:\APP\GoodSync\4ResetConfig\bak-jobs-options\prog-options-local.tix
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\LocalAcct.tic
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\server-accounts.tic
copy /Y C:\Users\Administrator\AppData\Local\GoodSync\accounts-bookmarks.tic D:\APP\GoodSync\4ResetConfig\bak-jobs-options\accounts-bookmarks.tic
copy /Y C:\Users\Administrator\AppData\Local\GoodSync\jobs-groups-options.tic D:\APP\GoodSync\4ResetConfig\bak-jobs-options\jobs-groups-options.tic
copy /Y C:\Users\Administrator\AppData\Local\GoodSync\prog-options-local.tix D:\APP\GoodSync\4ResetConfig\bak-jobs-options\prog-options-local.tix
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\LocalAcct.tic
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\server-accounts.tic
copy /Y %LOCALAPPDATA%\GoodSync\accounts-bookmarks.tic D:\APP\GoodSync\4ResetConfig\bak-jobs-options\accounts-bookmarks.tic
copy /Y %LOCALAPPDATA%\GoodSync\jobs-groups-options.tic D:\APP\GoodSync\4ResetConfig\bak-jobs-options\jobs-groups-options.tic
copy /Y %LOCALAPPDATA%\GoodSync\prog-options-local.tix D:\APP\GoodSync\4ResetConfig\bak-jobs-options\prog-options-local.tix
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\LocalAcct.tic
REM del /F /Q C:\Users\Administrator\AppData\Local\GoodSync\server-accounts.tic
7z压缩包自解压制作工具Fc - SysCeo.Com Formceo

7z压缩包自解压制作工具Fc - SysCeo.Com Formceo
Set objShell = CreateObject("Wscript.Shell")
objshell.run """shell:startup"""
WScript.quit
Set objShell = CreateObject("Wscript.Shell")
objshell.run """shell:common startup"""
WScript.quit
; 设置互斥体,阻止脚本重复运行
Single(flag) { ;,返回1为重复,返回0为第一个运行
DllCall("CreateMutex", "Ptr",0, "int",0, "str", "Ahk_Single_" flag)
return A_LastError=0xB7 ? true : false
}
;=========================
;使用案例,脚本改名都没用,照样只能运行一个.
#SingleInstance,Off ;关闭自带互斥功能
if (Single("22302231")) { ;独一无二的字符串用于识别脚本,或者称为指纹?
; MsgBox,16,提示,程序已启动!`n请勿重复运行
ExitApp
}
; 检查Notepad.exe进程是否存在
Process, Exist, GoodSync.exe
pid := ErrorLevel
if not (pid) {
Run,% "D:\APP\GoodSync\3APP\GoodSync.exe /tray"
; Run,% "D:\APP\GoodSync\GoodSync\GoodSync.exe /Min"
}
; 进一步通过窗口标题确认
; if WinExist("ahk_class Notepad") {
; MsgBox 程序正在运行。
; }
二、极空间&节点小宝&ZeroTier&Tailscale&MT6000





三、UltraSearch&为每个文件创建一个同名文件夹并将文件移动到对应的文件夹中

; rem 实现为每个文件创建一个同名文件夹并将文件移动到对应的文件夹中
; 获取指定的文件或文件夹, 每次一个.
; 下列变量存在于任何文件循环中. 如果一个内层文件循环包含在一个外层文件循环中, 那么最内层循环的文件将具有优先权:
; 变量 描述
; A_LoopFileName 当前获取的文件或文件夹的名称(不含路径).
; A_LoopFileExt 当前文件的扩展名(例如 TXT, DOC 或 EXE). 不含句点(.).
loop,Files,%A_ScriptDir%\*.*
{
; 跳过此脚本自身
if( A_ScriptFullPath=A_LoopFileFullPath)
{
continue
}
; 获取不含扩展名的当前文件的名称:
; 将文件名(路径) 或 URL 分解成它的名称, 目录, 扩展名和驱动器.
SplitPath,A_LoopFileName, name, dir, ext, name_no_ext, Drive
; 以当前文件的名称创建文件夹
FileCreateDir,%A_ScriptDir%\%name_no_ext%
; 移动当前文件到创建的文件夹
FileMove,%A_LoopFileFullPath%,%A_ScriptDir%\%name_no_ext%
}

; 运行Total Commander (x64)11.56 绿色免安装自定义增强超高级版并定位打开此脚本所在文件夹
Run,%A_ScriptDir%\APP\TotalCMD\TotalCMD64.exe %A_ScriptDir%\
; 等待直到Total Commander (x64)11.56 绿色免安装自定义增强超高级版窗口处于活动状态.
WinWaitActive,ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
; 发送Ctrl+B快捷键到Total Commander窗口左侧子窗口,展开所有文件夹展开显示所有文件,以便输入拼音首字母过滤筛选当前文件列表
Send,^b

https://www.autoahk.com/archives/53172
https://www.cnblogs.com/delphixx/p/19147555
@echo off
cd /d %~DP0
REM 01-APP 应用程序 GoodSync-v10.11.6.7-32位-x86
REM V10.11这个版本最好,版本太低的话功能差和Bug多,
REM 版本太高的话必需联网注册账号才能使用。
REM 批处理脚本用Bat_To_Exe_Converter转换成的主程序为
REM D:\APP\GoodSync\_GoodSync.exe
REM (应用程序软件启动主程序必需以下划线前缀开始命名)
REM 02-Crack 激活专业版
REM gs-lic最好,没有注册表导入,
REM 运行后会有多个激活专业版授权,稳定可靠。
start D:\APP\GoodSync\02-Crack\gs-lic.exe
REM 03-RegConfig 两个注册表配置键值信息导入
REM 导入注册表文件,设置,1、不要使用分析动画、
REM 2、快捷方式不要添加到桌面。
rem 设置Windows启动时自动运行GoodSync
reg import D:\APP\GoodSync\03-RegConfig\Reg.reg
regedit /s D:\APP\GoodSync\03-RegConfig\Reg.reg
REM 04-ProfileConfig 配置文件信息导入
REM 覆盖复制程序设置任务列表和任务设置配置信息文件。
REM 程序选项、任务列表和任务设置相关信息保存在
REM accounts-bookmarks.tic和jobs-groups-options.tic这两个文件中。
REM lang.opt和cn-simpchinese.rfs设置用户界面语言为简体中文。
MD D:\APP\GoodSync\04-ProfileConfig\jobs-options
copy /Y D:\APP\GoodSync\04-ProfileConfig\jobs-options\accounts-bookmarks.tic %LOCALAPPDATA%\GoodSync\accounts-bookmarks.tic
copy /Y D:\APP\GoodSync\04-ProfileConfig\jobs-options\jobs-groups-options.tic %LOCALAPPDATA%\GoodSync\jobs-groups-options.tic
copy /Y D:\APP\GoodSync\04-ProfileConfig\jobs-options\accounts-bookmarks.bak %LOCALAPPDATA%\GoodSync\accounts-bookmarks.bak
copy /Y D:\APP\GoodSync\04-ProfileConfig\jobs-options\accounts-bookmarks.tic C:\Users\Administrator\AppData\Local\GoodSync\accounts-bookmarks.tic
copy /Y D:\APP\GoodSync\04-ProfileConfig\jobs-options\jobs-groups-options.tic C:\Users\Administrator\AppData\Local\GoodSync\jobs-groups-options.tic
copy /Y D:\APP\GoodSync\04-ProfileConfig\jobs-options\accounts-bookmarks.bak C:\Users\Administrator\AppData\Local\GoodSync\accounts-bookmarks.bak
REM copy /Y D:\APP\GoodSync\04-ProfileConfig\jobs-options\License.dat %ALLUSERSPROFILE%\GoodSync\License.dat
copy /Y D:\APP\GoodSync\04-ProfileConfig\jobs-options\settings.tix %ALLUSERSPROFILE%\GoodSync\server\settings.tix
REM copy /Y D:\APP\GoodSync\04-ProfileConfig\jobs-options\License.dat C:\ProgramData\GoodSync\License.dat
copy /Y D:\APP\GoodSync\04-ProfileConfig\jobs-options\settings.tix C:\ProgramData\GoodSync\server\settings.tix
REM 05-AutoRun 设置自启动
REM 设置Windows启动时自动启动GoodSync。
rem 设置Windows启动时自动运行GoodSync
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v GoodSync-1 /t REG_SZ /d "D:\APP\GoodSync\_GoodSync.exe" /f
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v GoodSync-2 /t REG_SZ /d "D:\APP\GoodSync\_GoodSync.exe" /f
rem 导入注册表文件,设置Windows启动时自动启动GoodSync
reg import D:\APP\GoodSync\05-AutoRun\reg.reg
regedit /s D:\APP\GoodSync\05-AutoRun\reg.reg
REM 06-GoodSync-Version-10.11.6.7-(x86)-32位-实时单向备份软件设置截屏图片
REM Install 官网官方安装包备用。
REM 一切准备就绪,立即启动GoodSync并执行实时单向备份任务
cd /d D:\APP\GoodSync\01-APP\
D:\APP\GoodSync\01-APP\GoodSync.exe
rem 一键备份任务列表-任务选项-程序选项,备份用户自定义的最佳状态
cd /d %~DP004-ProfileConfig\
set /a y=%date:~,4%,mo=1%date:~5,2%%%100,d=1%date:~8,2%%%100,h=%time:~,2%,m=1%time:~3,2%%%100,s=1%time:~6,2%%%100
rem 月前添加0
if %mo%==0 set mo=00
if %mo%==1 set mo=01
if %mo%==2 set mo=02
if %mo%==3 set mo=03
if %mo%==4 set mo=04
if %mo%==5 set mo=05
if %mo%==6 set mo=06
if %mo%==7 set mo=07
if %mo%==8 set mo=08
if %mo%==9 set mo=09
rem 日前添加0
if %d%==0 set d=00
if %d%==1 set d=01
if %d%==2 set d=02
if %d%==3 set d=03
if %d%==4 set d=04
if %d%==5 set d=05
if %d%==6 set d=06
if %d%==7 set d=07
if %d%==8 set d=08
if %d%==9 set d=09
rem 小时前添加0
if %h%==0 set h=00
if %h%==1 set h=01
if %h%==2 set h=02
if %h%==3 set h=03
if %h%==4 set h=04
if %h%==5 set h=05
if %h%==6 set h=06
if %h%==7 set h=07
if %h%==8 set h=08
if %h%==9 set h=09
rem 分前添加0
if %m%==0 set m=00
if %m%==1 set m=01
if %m%==2 set m=02
if %m%==3 set m=03
if %m%==4 set m=04
if %m%==5 set m=05
if %m%==6 set m=06
if %m%==7 set m=07
if %m%==8 set m=08
if %m%==9 set m=09
rem 秒前添加0
if %s%==0 set s=00
if %s%==1 set s=01
if %s%==2 set s=02
if %s%==3 set s=03
if %s%==4 set s=04
if %s%==5 set s=05
if %s%==6 set s=06
if %s%==7 set s=07
if %s%==8 set s=08
if %s%==9 set s=09
rem echo 当前时间为:%y%年%mo%月%d%日%h%时%m%分%s%秒
REM MD %~DP004-ProfileConfig\GoodSync-Config-%y%-%mo%-%d%__%h%-%m%-%s%
MD %~DP004-ProfileConfig\jobs-options
del /f /q %~DP004-ProfileConfig\jobs-options\accounts-bookmarks.tic
del /f /q %~DP004-ProfileConfig\jobs-options\jobs-groups-options.tic
del /f /q %~DP004-ProfileConfig\jobs-options\accounts-bookmarks.bak
del /f /q %~DP004-ProfileConfig\jobs-options\License.dat
del /f /q %~DP004-ProfileConfig\jobs-options\settings.tix
copy /Y %LOCALAPPDATA%\GoodSync\accounts-bookmarks.tic %~DP004-ProfileConfig\jobs-options\accounts-bookmarks.tic
copy /Y %LOCALAPPDATA%\GoodSync\jobs-groups-options.tic %~DP004-ProfileConfig\jobs-options\jobs-groups-options.tic
copy /Y %LOCALAPPDATA%\GoodSync\accounts-bookmarks.bak %~DP004-ProfileConfig\jobs-options\accounts-bookmarks.bak
copy /Y C:\Users\Administrator\AppData\Local\GoodSync\accounts-bookmarks.tic %~DP004-ProfileConfig\jobs-options\accounts-bookmarks.tic
copy /Y C:\Users\Administrator\AppData\Local\GoodSync\jobs-groups-options.tic %~DP004-ProfileConfig\jobs-options\jobs-groups-options.tic
copy /Y C:\Users\Administrator\AppData\Local\GoodSync\accounts-bookmarks.bak %~DP004-ProfileConfig\jobs-options\accounts-bookmarks.bak
copy /Y %ALLUSERSPROFILE%\GoodSync\License.dat %~DP004-ProfileConfig\jobs-options\License.dat
copy /Y %ALLUSERSPROFILE%\GoodSync\server\settings.tix %~DP004-ProfileConfig\jobs-options\settings.tix
copy /Y C:\ProgramData\GoodSync\License.dat %~DP004-ProfileConfig\jobs-options\License.dat
copy /Y C:\ProgramData\GoodSync\server\settings.tix %~DP004-ProfileConfig\jobs-options\settings.tix
REM copy /Y %LOCALAPPDATA%\GoodSync\prog-options-local.tix %~DP004-ProfileConfig\jobs-options\prog-options-local.tix
REM copy /Y %LOCALAPPDATA%\GoodSync\lang.opt %~DP004-ProfileConfig\jobs-options\lang.opt







; 请在Maye Lite中手动设置打开我的文件夹的快捷键为F1
IniRead, MyVol,%A_ScriptDir%\Config.txt, section1, MyVolRecord
IniRead, MyFolder,%A_ScriptDir%\Config.txt, section2, MyFolderRecord
DriveGet,DriveList,List
loop,Parse,DriveList
{
DriveGet,DriveLabel,Label,%A_LoopField%:
IfInString,DriveLabel,%MyVol%
{
MyDrive=%A_LoopField%
}
}
Run,D:\APP\TotalCMD\_TotalCMD.exe %MyDrive%:\%MyFolder%
[section1]
MyVolRecord=DATA
[section2]
MyFolderRecord=实时单向备份\单位办公\2025年
MyHotkey=F1
;======== 设置显示或者隐藏MasterSeeker和Total Commander主窗口的快捷键的AutoHotkey脚本2024.10.21 =========
; 此脚本从此行开始
; D:\app\RegHotkey\RegHotkey.ahk
; 鼠标右击AHK托盘图标显示菜单并提示所有快捷键
; AutoHotkey版本1.1
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
;======== 强制自身以 ansi + 管理员权限 运行,编译此脚本时选择 ANSI 32位 =========
runwith("admin","ansi")
;-----------------------------------
; 多进程热键——快速响应随时中止 v2.1 By FeiYue
;
; 1、一般的多进程热键,每次按热键都会重新启动一个进程
; 这会造成热键响应延迟,和频繁启动、退出进程。
; 这个库利用线程叠加和双进程交替重启的设计解决了上述问题
;
; 2、Go.Go("标签名或函数名", 序号可省略) 启动子进程
; Go.Go("清理标签或为空", 序号可省略) 停止子进程
;-----------------------------------
class Go { ;// 类开始
init() {
static h:=Go.init()
#NoEnv
#NoTrayIcon
#SingleInstance force
#MaxThreads 255
if (A_Args.Length()>0)
{
Suspend, On
flag:="Ahk_Sub"
s:=RegExReplace(A_Args[1], "\s")
this.WinKill(flag "[" s "]")
r:=this.Menu_Go.Bind(this)
Menu, MyMenu, Add, Run, % r
Gui, %flag%: Add, Text, 0x80 -Wrap
Gui, %flag%: Menu, MyMenu
Gui, %flag%: Show, Hide, % flag "[" s "]"
return
Ahk_SubGuiClose:
Critical
WinMenuSelectItem,,, 1&
return
}
else
{
flag:="Ahk_Main"
this.WinKill(flag)
Gui, %flag%: Show, Hide, % flag
OnExit(this.WinKill.Bind(this,"Ahk_Sub"))
Menu, Tray, Icon
}
}
Menu_Go() {
ControlGetText, s
s:=Trim(s)
if (s="Reload")
{
WinGetTitle, s
this.RunAhk(RegExReplace(s,"Ahk_Sub\[|]"))
ExitApp
}
if IsLabel(s)
gosub, %s%
else if IsFunc(s)
%s%()
loop
Sleep, 60000
}
WinKill(flag) {
DetectHiddenWindows, On
WinGet, list, List, % flag " ahk_class AutoHotkeyGUI"
loop % list
IfWinExist, % "ahk_id " list%A_Index%
{
WinGet, pid, PID
WinClose, ahk_class AutoHotkey ahk_pid %pid%,, 3
IfWinExist,,, Process, Close, %pid%
}
DetectHiddenWindows, Off
}
RunAhk(s="") {
if (A_IsCompiled)
Run, "%A_ScriptFullPath%" /f %s%
else
Run, "%A_AhkPath%" /f "%A_ScriptFullPath%" %s%
}
; 一个进程叠加超过100个线程就切换另一个进程,原进程重启
Go(LabelOrFuncName="", index=0) {
static arr:=[]
DetectHiddenWindows, On
SetFormat, IntegerFast, d
index:=Floor(index), (!arr[index] && arr[index]:=[0,0])
, ii:=Floor(arr[index][1]), jj:=Floor(arr[index][2])
, tt:="Ahk_Sub[" index "_" jj "]"
if (++ii>100)
{
IfWinExist, % tt
{
ControlSetText,, Reload
WinClose
}
else
this.RunAhk(index "_" jj)
arr[index][2]:=jj:=!jj, ii:=1
, tt:="Ahk_Sub[" index "_" jj "]"
}
arr[index][1]:=ii
IfWinNotExist, % tt
{
this.RunAhk(index "_" jj)
WinWait, % tt,, 3
}
IfWinExist, % tt
{
ControlSetText,, % LabelOrFuncName
WinClose
}
DetectHiddenWindows, Off
}
} ;// 类结束
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
;======== 添加托盘图标右键菜单 =========
; 鼠标右击AHK托盘图标显示菜单并提示所有快捷键
; Menu, Tray, Add,按Alt+Z终止此脚本, ExitAppMenuHandler ; 创建新菜单项.
; Menu, Tray, Add,双击Ctrl键2秒后关闭显示器屏幕电源, PowerOffDisplay ; 创建新菜单项.
; Menu, Tray, Add,按~键显示或者隐藏Maye Lite, PowerOffDisplay ; 请在Maye Lite中设置快捷键热键
; Menu, Tray, Add,按F3键显示或者隐藏MasterSeeker, ccc ; 创建新菜单项.
; Menu, Tray, Add,按F4键显示或者隐藏Total Commander, aaa ; 创建新菜单项.
; Hotkey,!z,ExitAppMenuHandler
; ExitAppMenuHandler()
; {
; ExitApp
; }
;======== 设置关闭显示器的快捷键为 双击 Ctrl键 =========
; Control::
; if (A_PriorHotkey <> "Control" or A_TimeSincePriorHotkey > 400)
; { KeyWait, Control
; return
; }
; ; MsgBox 双击
; Go.Go("PowerOffDisplay")
; return
; PowerOffDisplay:
; Sleep,2000 ;暂停2秒,防止受键盘操作影响,关闭显示器后又立即开启。
; ;~ 关闭显示器
; SendMessage, 0x112, 0xF170, 2,, Program Manager
; return
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
;======== 设置显示或者隐藏 MasterSeeker 主窗口的快捷键为 F1 键 =========
; (F1键位于键盘主键区Esc键右边)
F1::Go.Go("ccc")
ccc:
; WinGetPos, , , W, ,MasterSeeker 1.5.1 by DxCK
; if (WinActive("MasterSeeker 1.5.1 by DxCK" ahk_exe MasterSeeker.exe) and W>700)
IfWinActive,MasterSeeker 1.5.1 by DxCK
{
; WinHide,MasterSeeker 1.5.1 by DxCK
WinMinimize,MasterSeeker 1.5.1 by DxCK
}
else
{
DetectHiddenWindows,On
SetTitleMatchMode,2
IfWinNotExist,MasterSeeker 1.5.1 by DxCK
{
IfExist,D:\APP\MasterSeeker\_MasterSeeker.exe
{
Run,D:\APP\MasterSeeker\_MasterSeeker.exe
}
else
{
MsgBox,0,,找不到文件 D:\Prog\MasterSeeker\MasterSeeker64.exe,5
ExitApp
}
}
SetTimer,WinActivateMasterSeeker,Delete
SetTimer,WinActivateMasterSeeker,500
}
return
WinActivateMasterSeeker()
{
WinShow,MasterSeeker 1.5.1 by DxCK
WinGet, WinMSID, ID,MasterSeeker 1.5.1 by DxCK
DllCall("SwitchToThisWindow", "UInt", WinMSID, "UInt", 1)
WinActivate,MasterSeeker 1.5.1 by DxCK
WinMove,MasterSeeker 1.5.1 by DxCK,,0,0,A_ScreenWidth,A_ScreenHeight
WinMaximize,MasterSeeker 1.5.1 by DxCK
IfWinActive,MasterSeeker 1.5.1 by DxCK
{
loop,5
{
WinMove,MasterSeeker 1.5.1 by DxCK,,A_ScreenWidth/2,20,A_ScreenWidth/2-10,A_ScreenHeight-90
; 注意: MasterSeeker 的搜索框控件的名是 Filename ,很奇怪,很神奇,
; MasterSeeker 的搜索框控件不是类名 MasterSeeker 1.5.1 by DxCK7,也不是类名 Edit1
; ControlFocus,In Directory,MasterSeeker 1.5.1 by DxCK
; 设置输入焦点到窗口的指定控件上.
ControlFocus,Filename,MasterSeeker 1.5.1 by DxCK
}
ControlSend,Filename,{LControl Down}a{LControl Up},MasterSeeker 1.5.1 by DxCK
SetTimer,WinActivateMasterSeeker,Delete
Go.Go()
return
}
}
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
;======== 设置显示或者隐藏 Total Commander 11.01 主窗口的快捷键为 F4 键 =========
;(F4键位于键盘主键区数字键5正上方
; Total Commander 11.01使用支持按照“拼音首字母”序列筛选过滤文件列表的增强版QuickSearch eXtended 2.2.7插件)
`::Go.Go("aaa")
aaa:
; WinGetPos, , , W, ,Total Commander (x64) ahk_exe TotalCMD64.exe
; if (WinActive("Total Commander (x64)" ahk_exe TotalCMD64.exe) and W>400)
DetectHiddenWindows,On
SetTitleMatchMode,2
;等待指定标题窗口出现
;WinWait, Total Commander (x64) 11.01 - User ahk_class TTOTAL_CMD ahk_exe TOTALCMD64.EXE, [软件] 2.47
IfWinActive,Total Commander ahk_class TTOTAL_CMD
{
WinMinimize,Total Commander ahk_class TTOTAL_CMD
}
else
{
WinShow,Total Commander ahk_class TTOTAL_CMD
WinGet, WinTCID, ID,Total Commander ahk_class TTOTAL_CMD
DllCall("SwitchToThisWindow", "UInt", WinTCID, "UInt", 1)
WinActivate,Total Commander ahk_class TTOTAL_CMD
WinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeight
WinMaximize,Total Commander ahk_class TTOTAL_CMD
IfWinNotExist,Total Commander ahk_class TTOTAL_CMD
{
IfWinNotExist,ahk_exe TOTALCMD64.EXE
{
IfExist,D:\APP\TotalCMD\_TotalCMD.exe
{
Run,D:\APP\TotalCMD\_TotalCMD.exe
Go.Go()
return
}
else
{
MsgBox,0,,找不到文件 D:\APP\TotalCMD\_TotalCMD.exe,5
ExitApp
}
}
SetTimer,WinActivateTC,Delete
SetTimer,WinActivateTC,500
}
}
Go.Go()
return
WinActivateTC()
{
WinShow,Total Commander ahk_class TTOTAL_CMD
WinGet, WinTCID, ID,Total Commander ahk_class TTOTAL_CMD
DllCall("SwitchToThisWindow", "UInt", WinTCID, "UInt", 1)
WinActivate,Total Commander ahk_class TTOTAL_CMD
WinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeight
WinMaximize,Total Commander ahk_class TTOTAL_CMD
IfWinActive,Total Commander ahk_class TTOTAL_CMD
{
SetTimer,WinActivateTC,Delete
Go.Go()
return
}
}
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
; ===============================================================
; 强制自身进程以 管理员权限 或 普通权限 或 ANSI 或 U32 或 U64 版本运行。
; 例1: runwith("admin","u32") 强制自身以 u32 + 管理员权限 运行。
; 例2: runwith("","ansi") 强制自身以 ansi 版本运行(权限不变)。
; 例3: runwith("normal") 强制自身以 普通权限 运行(版本不变)。
RunWith(RunAsAdmin:="Default", ANSI_U32_U64:="Default")
{
; 格式化预期的模式
switch, RunAsAdmin
{
case "Normal","Standard","No","0": RunAsAdmin:=0
case "Admin","Yes","1": RunAsAdmin:=1
case "default": RunAsAdmin:=A_IsAdmin
default: RunAsAdmin:=A_IsAdmin
}
switch, ANSI_U32_U64
{
case "A32","ANSI","A": ANSI_U32_U64:="AutoHotkeyA32.exe"
case "U32","X32","32": ANSI_U32_U64:="AutoHotkeyU32.exe"
case "U64","X64","64": ANSI_U32_U64:="AutoHotkeyU64.exe"
case "default": ANSI_U32_U64:="AutoHotkey.exe"
default: ANSI_U32_U64:="AutoHotkey.exe"
}
; 获取传递给 “.ahk” 的用户参数(不是 /restart 之类传递给 “.exe” 的开关参数)
for k, v in A_Args
{
if (RunAsAdmin=1)
{
; 转义所有的引号与转义符号
v:=StrReplace(v, "\", "\\")
v:=StrReplace(v, """", "\""")
; 无论参数中是否有空格,都给参数两边加上引号
; Run 的内引号是 "
ScriptParameters .= (ScriptParameters="") ? """" v """" : A_Space """" v """"
}
else
{
; 转义所有的引号与转义符号
; 注意要转义两次 Run 和 RunAs.exe
v:=StrReplace(v, "\", "\\")
v:=StrReplace(v, """", "\""")
v:=StrReplace(v, "\", "\\")
v:=StrReplace(v, """", "\""")
; 无论参数中是否有空格,都给参数两边加上引号
; RunAs.exe 的内引号是 \"
ScriptParameters .= (ScriptParameters="") ? "\""" v "\""" : A_Space "\""" v "\"""
}
}
; 判断当前 exe 是什么版本
if (!A_IsUnicode)
RunningEXE:="AutoHotkeyA32.exe"
else if (A_PtrSize=4)
RunningEXE:="AutoHotkeyU32.exe"
else if (A_PtrSize=8)
RunningEXE:="AutoHotkeyU64.exe"
; 运行模式与预期相同,则直接返回。 ANSI_U32_U64="AutoHotkey.exe" 代表不对 ahk 版本做要求。
if (A_IsAdmin=RunAsAdmin and (ANSI_U32_U64="AutoHotkey.exe" or ANSI_U32_U64=RunningEXE))
return
; 如果当前已经是使用 /restart 参数重启的进程,则报错避免反复重启导致死循环。
else if (RegExMatch(DllCall("GetCommandLine", "str"), " /restart(?!\S)"))
{
预期权限:=(RunAsAdmin=1) ? "管理员权限" : "普通权限"
当前权限:=(A_IsAdmin=1) ? "管理员权限" : "普通权限"
ErrorMessage=
(LTrim
预期使用: %ANSI_U32_U64%
当前使用: %RunningEXE%
预期权限: %预期权限%
当前权限: %当前权限%
程序即将退出。
)
MsgBox 0x40030, 运行状态与预期不一致, %ErrorMessage%
ExitApp
}
else
{
; 获取 AutoHotkey.exe 的路径
SplitPath, A_AhkPath, , Dir
if (RunAsAdmin=0)
{
; 强制普通权限运行
switch, A_IsCompiled
{
; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。
; 工作目录不用单独指定,默认使用 A_WorkingDir 。
case, "1": Run, RunAs.exe /trustlevel:0x20000 "\"%A_ScriptFullPath%\" /restart %ScriptParameters%",, Hide
default: Run, RunAs.exe /trustlevel:0x20000 "\"%Dir%\%ANSI_U32_U64%\" /restart \"%A_ScriptFullPath%\" %ScriptParameters%",, Hide
}
}
else
{
; 强制管理员权限运行
switch, A_IsCompiled
;======== 设置显示或者隐藏MasterSeeker和Total Commander主窗口的快捷键的AutoHotkey脚本2024.10.21 =========
; 此脚本从此行开始
; D:\app\RegHotkey\RegHotkey.ahk
; 鼠标右击AHK托盘图标显示菜单并提示所有快捷键
; AutoHotkey版本1.1
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
;======== 强制自身以 ansi + 管理员权限 运行,编译此脚本时选择 ANSI 32位 =========
runwith("admin","ansi")
;-----------------------------------
; 多进程热键——快速响应随时中止 v2.1 By FeiYue
;
; 1、一般的多进程热键,每次按热键都会重新启动一个进程
; 这会造成热键响应延迟,和频繁启动、退出进程。
; 这个库利用线程叠加和双进程交替重启的设计解决了上述问题
;
; 2、Go.Go("标签名或函数名", 序号可省略) 启动子进程
; Go.Go("清理标签或为空", 序号可省略) 停止子进程
;-----------------------------------
class Go { ;// 类开始
init() {
static h:=Go.init()
#NoEnv
#NoTrayIcon
#SingleInstance force
#MaxThreads 255
if (A_Args.Length()>0)
{
Suspend, On
flag:="Ahk_Sub"
s:=RegExReplace(A_Args[1], "\s")
this.WinKill(flag "[" s "]")
r:=this.Menu_Go.Bind(this)
Menu, MyMenu, Add, Run, % r
Gui, %flag%: Add, Text, 0x80 -Wrap
Gui, %flag%: Menu, MyMenu
Gui, %flag%: Show, Hide, % flag "[" s "]"
return
Ahk_SubGuiClose:
Critical
WinMenuSelectItem,,, 1&
return
}
else
{
flag:="Ahk_Main"
this.WinKill(flag)
Gui, %flag%: Show, Hide, % flag
OnExit(this.WinKill.Bind(this,"Ahk_Sub"))
Menu, Tray, Icon
}
}
Menu_Go() {
ControlGetText, s
s:=Trim(s)
if (s="Reload")
{
WinGetTitle, s
this.RunAhk(RegExReplace(s,"Ahk_Sub\[|]"))
ExitApp
}
if IsLabel(s)
gosub, %s%
else if IsFunc(s)
%s%()
loop
Sleep, 60000
}
WinKill(flag) {
DetectHiddenWindows, On
WinGet, list, List, % flag " ahk_class AutoHotkeyGUI"
loop % list
IfWinExist, % "ahk_id " list%A_Index%
{
WinGet, pid, PID
WinClose, ahk_class AutoHotkey ahk_pid %pid%,, 3
IfWinExist,,, Process, Close, %pid%
}
DetectHiddenWindows, Off
}
RunAhk(s="") {
if (A_IsCompiled)
Run, "%A_ScriptFullPath%" /f %s%
else
Run, "%A_AhkPath%" /f "%A_ScriptFullPath%" %s%
}
; 一个进程叠加超过100个线程就切换另一个进程,原进程重启
Go(LabelOrFuncName="", index=0) {
static arr:=[]
DetectHiddenWindows, On
SetFormat, IntegerFast, d
index:=Floor(index), (!arr[index] && arr[index]:=[0,0])
, ii:=Floor(arr[index][1]), jj:=Floor(arr[index][2])
, tt:="Ahk_Sub[" index "_" jj "]"
if (++ii>100)
{
IfWinExist, % tt
{
ControlSetText,, Reload
WinClose
}
else
this.RunAhk(index "_" jj)
arr[index][2]:=jj:=!jj, ii:=1
, tt:="Ahk_Sub[" index "_" jj "]"
}
arr[index][1]:=ii
IfWinNotExist, % tt
{
this.RunAhk(index "_" jj)
WinWait, % tt,, 3
}
IfWinExist, % tt
{
ControlSetText,, % LabelOrFuncName
WinClose
}
DetectHiddenWindows, Off
}
} ;// 类结束
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
;======== 添加托盘图标右键菜单 =========
; 鼠标右击AHK托盘图标显示菜单并提示所有快捷键
; Menu, Tray, Add,按Alt+Z终止此脚本, ExitAppMenuHandler ; 创建新菜单项.
; Menu, Tray, Add,双击Ctrl键2秒后关闭显示器屏幕电源, PowerOffDisplay ; 创建新菜单项.
; Menu, Tray, Add,按~键显示或者隐藏Maye Lite, PowerOffDisplay ; 请在Maye Lite中设置快捷键热键
; Menu, Tray, Add,按F3键显示或者隐藏MasterSeeker, ccc ; 创建新菜单项.
; Menu, Tray, Add,按F4键显示或者隐藏Total Commander, aaa ; 创建新菜单项.
; Hotkey,!z,ExitAppMenuHandler
; ExitAppMenuHandler()
; {
; ExitApp
; }
;======== 设置关闭显示器的快捷键为 双击 Ctrl键 =========
; Control::
; if (A_PriorHotkey <> "Control" or A_TimeSincePriorHotkey > 400)
; { KeyWait, Control
; return
; }
; ; MsgBox 双击
; Go.Go("PowerOffDisplay")
; return
; PowerOffDisplay:
; Sleep,2000 ;暂停2秒,防止受键盘操作影响,关闭显示器后又立即开启。
; ;~ 关闭显示器
; SendMessage, 0x112, 0xF170, 2,, Program Manager
; return
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
;======== 设置显示或者隐藏 MasterSeeker 主窗口的快捷键为 F1 键 =========
; (F1键位于键盘主键区Esc键右边)
F1::Go.Go("ccc")
ccc:
; WinGetPos, , , W, ,MasterSeeker 1.5.1 by DxCK
; if (WinActive("MasterSeeker 1.5.1 by DxCK" ahk_exe MasterSeeker.exe) and W>700)
IfWinActive,MasterSeeker 1.5.1 by DxCK
{
; WinHide,MasterSeeker 1.5.1 by DxCK
WinMinimize,MasterSeeker 1.5.1 by DxCK
}
else
{
DetectHiddenWindows,On
SetTitleMatchMode,2
IfWinNotExist,MasterSeeker 1.5.1 by DxCK
{
IfExist,D:\APP\MasterSeeker\_MasterSeeker.exe
{
Run,D:\APP\MasterSeeker\_MasterSeeker.exe
}
else
{
MsgBox,0,,找不到文件 D:\Prog\MasterSeeker\MasterSeeker64.exe,5
ExitApp
}
}
SetTimer,WinActivateMasterSeeker,Delete
SetTimer,WinActivateMasterSeeker,500
}
return
WinActivateMasterSeeker()
{
WinShow,MasterSeeker 1.5.1 by DxCK
WinGet, WinMSID, ID,MasterSeeker 1.5.1 by DxCK
DllCall("SwitchToThisWindow", "UInt", WinMSID, "UInt", 1)
WinActivate,MasterSeeker 1.5.1 by DxCK
WinMove,MasterSeeker 1.5.1 by DxCK,,0,0,A_ScreenWidth,A_ScreenHeight
WinMaximize,MasterSeeker 1.5.1 by DxCK
IfWinActive,MasterSeeker 1.5.1 by DxCK
{
loop,5
{
WinMove,MasterSeeker 1.5.1 by DxCK,,A_ScreenWidth/2,20,A_ScreenWidth/2-10,A_ScreenHeight-90
; 注意: MasterSeeker 的搜索框控件的名是 Filename ,很奇怪,很神奇,
; MasterSeeker 的搜索框控件不是类名 MasterSeeker 1.5.1 by DxCK7,也不是类名 Edit1
; ControlFocus,In Directory,MasterSeeker 1.5.1 by DxCK
; 设置输入焦点到窗口的指定控件上.
ControlFocus,Filename,MasterSeeker 1.5.1 by DxCK
}
ControlSend,Filename,{LControl Down}a{LControl Up},MasterSeeker 1.5.1 by DxCK
SetTimer,WinActivateMasterSeeker,Delete
Go.Go()
return
}
}
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
;======== 设置显示或者隐藏 Total Commander 11.01 主窗口的快捷键为 F4 键 =========
;(F4键位于键盘主键区数字键5正上方
; Total Commander 11.01使用支持按照“拼音首字母”序列筛选过滤文件列表的增强版QuickSearch eXtended 2.2.7插件)
`::Go.Go("aaa")
aaa:
; WinGetPos, , , W, ,Total Commander (x64) ahk_exe TotalCMD64.exe
; if (WinActive("Total Commander (x64)" ahk_exe TotalCMD64.exe) and W>400)
DetectHiddenWindows,On
SetTitleMatchMode,2
;等待指定标题窗口出现
;WinWait, Total Commander (x64) 11.01 - User ahk_class TTOTAL_CMD ahk_exe TOTALCMD64.EXE, [软件] 2.47
IfWinActive,Total Commander ahk_class TTOTAL_CMD
{
WinMinimize,Total Commander ahk_class TTOTAL_CMD
}
else
{
WinShow,Total Commander ahk_class TTOTAL_CMD
WinGet, WinTCID, ID,Total Commander ahk_class TTOTAL_CMD
DllCall("SwitchToThisWindow", "UInt", WinTCID, "UInt", 1)
WinActivate,Total Commander ahk_class TTOTAL_CMD
WinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeight
WinMaximize,Total Commander ahk_class TTOTAL_CMD
IfWinNotExist,Total Commander ahk_class TTOTAL_CMD
{
IfWinNotExist,ahk_exe TOTALCMD64.EXE
{
IfExist,D:\APP\TotalCMD\_TotalCMD.exe
{
Run,D:\APP\TotalCMD\_TotalCMD.exe
Go.Go()
return
}
else
{
MsgBox,0,,找不到文件 D:\APP\TotalCMD\_TotalCMD.exe,5
ExitApp
}
}
SetTimer,WinActivateTC,Delete
SetTimer,WinActivateTC,500
}
}
Go.Go()
return
WinActivateTC()
{
WinShow,Total Commander ahk_class TTOTAL_CMD
WinGet, WinTCID, ID,Total Commander ahk_class TTOTAL_CMD
DllCall("SwitchToThisWindow", "UInt", WinTCID, "UInt", 1)
WinActivate,Total Commander ahk_class TTOTAL_CMD
WinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeight
WinMaximize,Total Commander ahk_class TTOTAL_CMD
IfWinActive,Total Commander ahk_class TTOTAL_CMD
{
SetTimer,WinActivateTC,Delete
Go.Go()
return
}
}
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
; ===============================================================
; 强制自身进程以 管理员权限 或 普通权限 或 ANSI 或 U32 或 U64 版本运行。
; 例1: runwith("admin","u32") 强制自身以 u32 + 管理员权限 运行。
; 例2: runwith("","ansi") 强制自身以 ansi 版本运行(权限不变)。
; 例3: runwith("normal") 强制自身以 普通权限 运行(版本不变)。
RunWith(RunAsAdmin:="Default", ANSI_U32_U64:="Default")
{
; 格式化预期的模式
switch, RunAsAdmin
{
case "Normal","Standard","No","0": RunAsAdmin:=0
case "Admin","Yes","1": RunAsAdmin:=1
case "default": RunAsAdmin:=A_IsAdmin
default: RunAsAdmin:=A_IsAdmin
}
switch, ANSI_U32_U64
{
case "A32","ANSI","A": ANSI_U32_U64:="AutoHotkeyA32.exe"
case "U32","X32","32": ANSI_U32_U64:="AutoHotkeyU32.exe"
case "U64","X64","64": ANSI_U32_U64:="AutoHotkeyU64.exe"
case "default": ANSI_U32_U64:="AutoHotkey.exe"
default: ANSI_U32_U64:="AutoHotkey.exe"
}
; 获取传递给 “.ahk” 的用户参数(不是 /restart 之类传递给 “.exe” 的开关参数)
for k, v in A_Args
{
if (RunAsAdmin=1)
{
; 转义所有的引号与转义符号
v:=StrReplace(v, "\", "\\")
v:=StrReplace(v, """", "\""")
; 无论参数中是否有空格,都给参数两边加上引号
; Run 的内引号是 "
ScriptParameters .= (ScriptParameters="") ? """" v """" : A_Space """" v """"
}
else
{
; 转义所有的引号与转义符号
; 注意要转义两次 Run 和 RunAs.exe
v:=StrReplace(v, "\", "\\")
v:=StrReplace(v, """", "\""")
v:=StrReplace(v, "\", "\\")
v:=StrReplace(v, """", "\""")
; 无论参数中是否有空格,都给参数两边加上引号
; RunAs.exe 的内引号是 \"
ScriptParameters .= (ScriptParameters="") ? "\""" v "\""" : A_Space "\""" v "\"""
}
}
; 判断当前 exe 是什么版本
if (!A_IsUnicode)
RunningEXE:="AutoHotkeyA32.exe"
else if (A_PtrSize=4)
RunningEXE:="AutoHotkeyU32.exe"
else if (A_PtrSize=8)
RunningEXE:="AutoHotkeyU64.exe"
; 运行模式与预期相同,则直接返回。 ANSI_U32_U64="AutoHotkey.exe" 代表不对 ahk 版本做要求。
if (A_IsAdmin=RunAsAdmin and (ANSI_U32_U64="AutoHotkey.exe" or ANSI_U32_U64=RunningEXE))
return
; 如果当前已经是使用 /restart 参数重启的进程,则报错避免反复重启导致死循环。
else if (RegExMatch(DllCall("GetCommandLine", "str"), " /restart(?!\S)"))
{
预期权限:=(RunAsAdmin=1) ? "管理员权限" : "普通权限"
当前权限:=(A_IsAdmin=1) ? "管理员权限" : "普通权限"
ErrorMessage=
(LTrim
预期使用: %ANSI_U32_U64%
当前使用: %RunningEXE%
预期权限: %预期权限%
当前权限: %当前权限%
程序即将退出。
)
MsgBox 0x40030, 运行状态与预期不一致, %ErrorMessage%
ExitApp
}
else
{
; 获取 AutoHotkey.exe 的路径
SplitPath, A_AhkPath, , Dir
if (RunAsAdmin=0)
{
; 强制普通权限运行
switch, A_IsCompiled
{
; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。
; 工作目录不用单独指定,默认使用 A_WorkingDir 。
case, "1": Run, RunAs.exe /trustlevel:0x20000 "\"%A_ScriptFullPath%\" /restart %ScriptParameters%",, Hide
default: Run, RunAs.exe /trustlevel:0x20000 "\"%Dir%\%ANSI_U32_U64%\" /restart \"%A_ScriptFullPath%\" %ScriptParameters%",, Hide
}
}
else
{
; 强制管理员权限运行
switch, A_IsCompiled
{
; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。
; 工作目录不用单独指定,默认使用 A_WorkingDir 。
case, "1": Run, *RunAs "%A_ScriptFullPath%" /restart %ScriptParameters%
default: Run, *RunAs "%Dir%\%ANSI_U32_U64%" /restart "%A_ScriptFullPath%" %ScriptParameters%
}
}
ExitApp
}
}
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
; 此脚本到此行结束
;-----------------------------------
{ ; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。 ; 工作目录不用单独指定,默认使用 A_WorkingDir 。 case, "1": Run, *RunAs "%A_ScriptFullPath%" /restart %ScriptParameters% default: Run, *RunAs "%Dir%\%ANSI_U32_U64%" /restart "%A_ScriptFullPath%" %ScriptParameters% } } ExitApp } } ; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com ; 此脚本到此行结束 ;-----------------------------------

;======== 设置显示或者隐藏Everything和Total Commander主窗口的快捷键的AutoHotkey脚本2024.10.21 =========
; 此脚本从此行开始
; D:\app\RegHotkey\RegHotkey.ahk
; 鼠标右击AHK托盘图标显示菜单并提示所有快捷键
; AutoHotkey版本1.1
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
;======== 强制自身以 ansi + 管理员权限 运行,编译此脚本时选择 ANSI 32位 =========
runwith("admin","ansi")
;-----------------------------------
; 多进程热键——快速响应随时中止 v2.1 By FeiYue
;
; 1、一般的多进程热键,每次按热键都会重新启动一个进程
; 这会造成热键响应延迟,和频繁启动、退出进程。
; 这个库利用线程叠加和双进程交替重启的设计解决了上述问题
;
; 2、Go.Go("标签名或函数名", 序号可省略) 启动子进程
; Go.Go("清理标签或为空", 序号可省略) 停止子进程
;-----------------------------------
class Go { ;// 类开始
init() {
static h:=Go.init()
#NoEnv
#NoTrayIcon
#SingleInstance force
#MaxThreads 255
if (A_Args.Length()>0)
{
Suspend, On
flag:="Ahk_Sub"
s:=RegExReplace(A_Args[1], "\s")
this.WinKill(flag "[" s "]")
r:=this.Menu_Go.Bind(this)
Menu, MyMenu, Add, Run, % r
Gui, %flag%: Add, Text, 0x80 -Wrap
Gui, %flag%: Menu, MyMenu
Gui, %flag%: Show, Hide, % flag "[" s "]"
return
Ahk_SubGuiClose:
Critical
WinMenuSelectItem,,, 1&
return
}
else
{
flag:="Ahk_Main"
this.WinKill(flag)
Gui, %flag%: Show, Hide, % flag
OnExit(this.WinKill.Bind(this,"Ahk_Sub"))
Menu, Tray, Icon
}
}
Menu_Go() {
ControlGetText, s
s:=Trim(s)
if (s="Reload")
{
WinGetTitle, s
this.RunAhk(RegExReplace(s,"Ahk_Sub\[|]"))
ExitApp
}
if IsLabel(s)
gosub, %s%
else if IsFunc(s)
%s%()
loop
Sleep, 60000
}
WinKill(flag) {
DetectHiddenWindows, On
WinGet, list, List, % flag " ahk_class AutoHotkeyGUI"
loop % list
IfWinExist, % "ahk_id " list%A_Index%
{
WinGet, pid, PID
WinClose, ahk_class AutoHotkey ahk_pid %pid%,, 3
IfWinExist,,, Process, Close, %pid%
}
DetectHiddenWindows, Off
}
RunAhk(s="") {
if (A_IsCompiled)
Run, "%A_ScriptFullPath%" /f %s%
else
Run, "%A_AhkPath%" /f "%A_ScriptFullPath%" %s%
}
; 一个进程叠加超过100个线程就切换另一个进程,原进程重启
Go(LabelOrFuncName="", index=0) {
static arr:=[]
DetectHiddenWindows, On
SetFormat, IntegerFast, d
index:=Floor(index), (!arr[index] && arr[index]:=[0,0])
, ii:=Floor(arr[index][1]), jj:=Floor(arr[index][2])
, tt:="Ahk_Sub[" index "_" jj "]"
if (++ii>100)
{
IfWinExist, % tt
{
ControlSetText,, Reload
WinClose
}
else
this.RunAhk(index "_" jj)
arr[index][2]:=jj:=!jj, ii:=1
, tt:="Ahk_Sub[" index "_" jj "]"
}
arr[index][1]:=ii
IfWinNotExist, % tt
{
this.RunAhk(index "_" jj)
WinWait, % tt,, 3
}
IfWinExist, % tt
{
ControlSetText,, % LabelOrFuncName
WinClose
}
DetectHiddenWindows, Off
}
} ;// 类结束
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
;======== 添加托盘图标右键菜单 =========
; 鼠标右击AHK托盘图标显示菜单并提示所有快捷键
; Menu, Tray, Add,按Alt+Z终止此脚本, ExitAppMenuHandler ; 创建新菜单项.
; Menu, Tray, Add,双击Ctrl键2秒后关闭显示器屏幕电源, PowerOffDisplay ; 创建新菜单项.
; Menu, Tray, Add,按~键显示或者隐藏Maye Lite, PowerOffDisplay ; 请在Maye Lite中设置快捷键热键
; Menu, Tray, Add,按F3键显示或者隐藏Everything, ccc ; 创建新菜单项.
; Menu, Tray, Add,按F4键显示或者隐藏Total Commander, aaa ; 创建新菜单项.
; Hotkey,!z,ExitAppMenuHandler
; ExitAppMenuHandler()
; {
; ExitApp
; }
;======== 设置关闭显示器的快捷键为 双击 Ctrl键 =========
; Control::
; if (A_PriorHotkey <> "Control" or A_TimeSincePriorHotkey > 400)
; { KeyWait, Control
; return
; }
; ; MsgBox 双击
; Go.Go("PowerOffDisplay")
; return
; PowerOffDisplay:
; Sleep,2000 ;暂停2秒,防止受键盘操作影响,关闭显示器后又立即开启。
; ;~ 关闭显示器
; SendMessage, 0x112, 0xF170, 2,, Program Manager
; return
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
;======== 设置显示或者隐藏 Everything 主窗口的快捷键为 F1 键 =========
; (F1键位于键盘主键区Esc键右边)
F1::Go.Go("ccc")
ccc:
DetectHiddenWindows,On
SetTitleMatchMode,2
IfWinActive,Everything ahk_class EVERYTHING
{
WinMinimize,Everything ahk_class EVERYTHING
}
else
{
DetectHiddenWindows,On
SetTitleMatchMode,2
IfWinNotExist,Everything ahk_class EVERYTHING
{
if A_Is64bitOS
{
IfExist,D:\APP\Everything\x64\Everything.exe
{
Run,D:\APP\Everything\x64\Everything.exe
}
else
{
MsgBox,0,,找不到文件 D:\APP\Everything\x64\Everything.exe,5
ExitApp
}
}
else
{
IfExist,D:\APP\Everything\x86\Everything.exe
{
Run,D:\APP\Everything\x86\Everything.exe
}
else
{
MsgBox,0,,找不到文件 D:\APP\Everything\x86\Everything.exe,5
ExitApp
}
}
}
SetTimer,WinActivateEverything,Delete
SetTimer,WinActivateEverything,500
}
return
WinActivateEverything()
{
DetectHiddenWindows,On
SetTitleMatchMode,2
WinShow,Everything ahk_class EVERYTHING
WinGet, WinMSID, ID,Everything ahk_class EVERYTHING
DllCall("SwitchToThisWindow", "UInt", WinMSID, "UInt", 1)
WinActivate,Everything ahk_class EVERYTHING
WinMove,Everything ahk_class EVERYTHING,,0,0,A_ScreenWidth,A_ScreenHeight
WinMaximize,Everything ahk_class EVERYTHING
WinWaitActive,Everything ahk_class EVERYTHING,,9
IfWinActive,Everything ahk_class EVERYTHING
{
loop,5
{
WinMove,Everything ahk_class EVERYTHING,,A_ScreenWidth/2,20,A_ScreenWidth/2-10,A_ScreenHeight-90
; 注意: Everything 的搜索框控件的名是 Filename ,很奇怪,很神奇,
; Everything 的搜索框控件不是类名 Everything 1.5.1 by DxCK7,也不是类名 Edit1
; ControlFocus,In Directory,Everything 1.5.1 by DxCK
; 设置输入焦点到窗口的指定控件上.
ControlFocus,Edit1,Everything ahk_class EVERYTHING
}
ControlSetText,Edit1,file:,Everything ahk_class EVERYTHING
ControlSend,Edit1,{End},Everything ahk_class EVERYTHING
; ControlSend,Edit1,^a,Everything ahk_class EVERYTHING
SetTimer,WinActivateEverything,Delete
Go.Go()
return
}
}
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
;======== 设置显示或者隐藏 Total Commander 11.01 主窗口的快捷键为 F4 键 =========
;(F4键位于键盘主键区数字键5正上方
; Total Commander 11.01使用支持按照“拼音首字母”序列筛选过滤文件列表的增强版QuickSearch eXtended 2.2.7插件)
`::Go.Go("aaa")
aaa:
; WinGetPos, , , W, ,Total Commander (x64) ahk_exe TotalCMD64.exe
; if (WinActive("Total Commander (x64)" ahk_exe TotalCMD64.exe) and W>400)
DetectHiddenWindows,On
SetTitleMatchMode,2
IfWinActive,Total Commander ahk_class TTOTAL_CMD
{
WinMinimize,Total Commander ahk_class TTOTAL_CMD
}
else
{
WinShow,Total Commander ahk_class TTOTAL_CMD
WinGet, WinTCID, ID,Total Commander ahk_class TTOTAL_CMD
DllCall("SwitchToThisWindow", "UInt", WinTCID, "UInt", 1)
WinActivate,Total Commander ahk_class TTOTAL_CMD
WinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeight
WinMaximize,Total Commander ahk_class TTOTAL_CMD
IfWinNotExist,Total Commander ahk_class TTOTAL_CMD
{
IfExist,D:\APP\TotalCMD\TotalCMD.exe
{
Run,D:\APP\TotalCMD\TotalCMD.exe
Go.Go()
return
}
else
{
MsgBox,0,,找不到文件 D:\APP\TotalCMD\TotalCMD.exe,5
ExitApp
}
SetTimer,WinActivateTC,Delete
SetTimer,WinActivateTC,500
}
}
Go.Go()
return
WinActivateTC()
{
WinShow,Total Commander ahk_class TTOTAL_CMD
WinGet, WinTCID, ID,Total Commander ahk_class TTOTAL_CMD
DllCall("SwitchToThisWindow", "UInt", WinTCID, "UInt", 1)
WinActivate,Total Commander ahk_class TTOTAL_CMD
WinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeight
WinMaximize,Total Commander ahk_class TTOTAL_CMD
IfWinActive,Total Commander ahk_class TTOTAL_CMD
{
SetTimer,WinActivateTC,Delete
Go.Go()
return
}
}
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
; ===============================================================
; 强制自身进程以 管理员权限 或 普通权限 或 ANSI 或 U32 或 U64 版本运行。
; 例1: runwith("admin","u32") 强制自身以 u32 + 管理员权限 运行。
; 例2: runwith("","ansi") 强制自身以 ansi 版本运行(权限不变)。
; 例3: runwith("normal") 强制自身以 普通权限 运行(版本不变)。
RunWith(RunAsAdmin:="Default", ANSI_U32_U64:="Default")
{
; 格式化预期的模式
switch, RunAsAdmin
{
case "Normal","Standard","No","0": RunAsAdmin:=0
case "Admin","Yes","1": RunAsAdmin:=1
case "default": RunAsAdmin:=A_IsAdmin
default: RunAsAdmin:=A_IsAdmin
}
switch, ANSI_U32_U64
{
case "A32","ANSI","A": ANSI_U32_U64:="AutoHotkeyA32.exe"
case "U32","X32","32": ANSI_U32_U64:="AutoHotkeyU32.exe"
case "U64","X64","64": ANSI_U32_U64:="AutoHotkeyU64.exe"
case "default": ANSI_U32_U64:="AutoHotkey.exe"
default: ANSI_U32_U64:="AutoHotkey.exe"
}
; 获取传递给 “.ahk” 的用户参数(不是 /restart 之类传递给 “.exe” 的开关参数)
for k, v in A_Args
{
if (RunAsAdmin=1)
{
; 转义所有的引号与转义符号
v:=StrReplace(v, "\", "\\")
v:=StrReplace(v, """", "\""")
; 无论参数中是否有空格,都给参数两边加上引号
; Run 的内引号是 "
ScriptParameters .= (ScriptParameters="") ? """" v """" : A_Space """" v """"
}
else
{
; 转义所有的引号与转义符号
; 注意要转义两次 Run 和 RunAs.exe
v:=StrReplace(v, "\", "\\")
v:=StrReplace(v, """", "\""")
v:=StrReplace(v, "\", "\\")
v:=StrReplace(v, """", "\""")
; 无论参数中是否有空格,都给参数两边加上引号
; RunAs.exe 的内引号是 \"
ScriptParameters .= (ScriptParameters="") ? "\""" v "\""" : A_Space "\""" v "\"""
}
}
; 判断当前 exe 是什么版本
if (!A_IsUnicode)
RunningEXE:="AutoHotkeyA32.exe"
else if (A_PtrSize=4)
RunningEXE:="AutoHotkeyU32.exe"
else if (A_PtrSize=8)
RunningEXE:="AutoHotkeyU64.exe"
; 运行模式与预期相同,则直接返回。 ANSI_U32_U64="AutoHotkey.exe" 代表不对 ahk 版本做要求。
if (A_IsAdmin=RunAsAdmin and (ANSI_U32_U64="AutoHotkey.exe" or ANSI_U32_U64=RunningEXE))
return
; 如果当前已经是使用 /restart 参数重启的进程,则报错避免反复重启导致死循环。
else if (RegExMatch(DllCall("GetCommandLine", "str"), " /restart(?!\S)"))
{
预期权限:=(RunAsAdmin=1) ? "管理员权限" : "普通权限"
当前权限:=(A_IsAdmin=1) ? "管理员权限" : "普通权限"
ErrorMessage=
(LTrim
预期使用: %ANSI_U32_U64%
当前使用: %RunningEXE%
预期权限: %预期权限%
当前权限: %当前权限%
程序即将退出。
)
MsgBox 0x40030, 运行状态与预期不一致, %ErrorMessage%
ExitApp
}
else
{
; 获取 AutoHotkey.exe 的路径
SplitPath, A_AhkPath, , Dir
if (RunAsAdmin=0)
{
; 强制普通权限运行
switch, A_IsCompiled
{
; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。
; 工作目录不用单独指定,默认使用 A_WorkingDir 。
case, "1": Run, RunAs.exe /trustlevel:0x20000 "\"%A_ScriptFullPath%\" /restart %ScriptParameters%",, Hide
default: Run, RunAs.exe /trustlevel:0x20000 "\"%Dir%\%ANSI_U32_U64%\" /restart \"%A_ScriptFullPath%\" %ScriptParameters%",, Hide
}
}
else
{
; 强制管理员权限运行
switch, A_IsCompiled
{
; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。
; 工作目录不用单独指定,默认使用 A_WorkingDir 。
case, "1": Run, *RunAs "%A_ScriptFullPath%" /restart %ScriptParameters%
default: Run, *RunAs "%Dir%\%ANSI_U32_U64%" /restart "%A_ScriptFullPath%" %ScriptParameters%
}
}
ExitApp
}
}
; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com
; 此脚本到此行结束
;-----------------------------------
::[Bat To Exe Converter]
::
::YAwzoRdxOk+EWAjk
::fBw5plQjdCyDJHi0xH4XJxRQfx2MPzmdCYk75+f/3POJoR86W94nLtvn/buBJNMK5Ea2Uplj33lV+A==
::YAwzuBVtJxjWCl3EqQJgSA==
::ZR4luwNxJguZRRnk
::Yhs/ulQjdF+5
::cxAkpRVqdFKZSzk=
::cBs/ulQjdF+5
::ZR41oxFsdFKZSDk=
::eBoioBt6dFKZSDk=
::cRo6pxp7LAbNWATEpCI=
::egkzugNsPRvcWATEpCI=
::dAsiuh18IRvcCxnZtBJQ
::cRYluBh/LU+EWAnk
::YxY4rhs+aU+JeA==
::cxY6rQJ7JhzQF1fEqQJQ
::ZQ05rAF9IBncCkqN+0xwdVs0
::ZQ05rAF9IAHYFVzEqQJQ
::eg0/rx1wNQPfEVWB+kM9LVsJDGQ=
::fBEirQZwNQPfEVWB+kM9LVsJDGQ=
::cRolqwZ3JBvQF1fEqQJQ
::dhA7uBVwLU+EWDk=
::YQ03rBFzNR3SWATElA==
::dhAmsQZ3MwfNWATElA==
::ZQ0/vhVqMQ3MEVWAtB9wSA==
::Zg8zqx1/OA3MEVWAtB9wSA==
::dhA7pRFwIByZRRnk
::Zh4grVQjdCyDJHi0xH4XJxRQfx2MPzmdCYk75+f/3POJoR86W69tNorD39Q=
::YB416Ek+ZG8=
::
::
::978f952a14a936cc963da21a135fa983
@echo off
cd /d %~DP0
REM 文件夹GoodSync2Go用于存放
REM GoodSync2Go-v10.12.0.0-64位-x64实时单向备份应用程序软件。
REM V10.12这个版本最好,版本太低的话功能差和Bug多,
REM 版本太高的话必需联网注册账号才能使用,破解不彻底容易备份失败。
REM 批处理脚本用Bat_To_Exe_Converter转换成的主程序为
REM C:\APP\GoodSync2Go\GoodSync2Go.exe
REM 文件gs-lic.exe是激活专业版的破解补丁程序。
REM gs-lic最好,不需要另外导入注册表Reg文件,
REM 运行后会有多个激活专业版授权,稳定可靠。
cd /d %~dp0GoodSync2Go
start %~dp0GoodSync2Go\gs-lic.exe
cd /d %~dp0
REM 文件Reg.reg是两个注册表配置键值信息
REM 导入注册表文件,用于设置,
REM 1、不要使用分析动画、
REM 2、快捷方式不要添加到桌面。
REM reg import %~dp0Reg\Reg.reg
regedit /s %~dp0Reg\Reg.reg
REM 文件夹ProfileBak用于保存已经设置好的程序选项、任务列表和任务选项设置信息
REM 程序选项、任务列表和任务选项设置信息保存在
REM accounts-bookmarks.tic和jobs-groups-options.tic这两个文件中。
REM lang.opt和cn-simpchinese.rfs设置用户界面语言为简体中文。
REM 覆盖复制文件夹ProfileBak中的配置文件到GoodSync2Go\Profile文件夹中可以恢复最佳选项设置状态。
md %~dp0ProfileBak
if exist %~dp0ProfileBak\accounts-bookmarks.bak (
del /f /q %~dp0GoodSync2Go\Profile\accounts-bookmarks.bak
)
if exist %~dp0ProfileBak\accounts-bookmarks.tic (
del /f /q %~dp0GoodSync2Go\Profile\accounts-bookmarks.tic
)
if exist %~dp0ProfileBak\jobs-groups-options.tic (
del /f /q %~dp0GoodSync2Go\Profile\jobs-groups-options.tic
)
if exist %~dp0ProfileBak\accounts-bookmarks.tic (
del /f /q %~dp0GoodSync2Go\Profile\accounts-bookmarks.tic
)
copy /y %~dp0ProfileBak\accounts-bookmarks.bak %~dp0GoodSync2Go\Profile\accounts-bookmarks.bak
copy /y %~dp0ProfileBak\accounts-bookmarks.tic %~dp0GoodSync2Go\Profile\accounts-bookmarks.tic
copy /y %~dp0ProfileBak\jobs-groups-options.tic %~dp0GoodSync2Go\Profile\jobs-groups-options.tic
copy /y %~dp0ProfileBak\accounts-bookmarks.tic %~dp0GoodSync2Go\Profile\accounts-bookmarks.tic
copy /y %~dp0ProfileBak\accounts-bookmarks.bak %LOCALAPPDATA%\GoodSync\accounts-bookmarks.bak
copy /y %~dp0ProfileBak\accounts-bookmarks.tic %LOCALAPPDATA%\GoodSync\accounts-bookmarks.tic
copy /y %~dp0ProfileBak\jobs-groups-options.tic %LOCALAPPDATA%\GoodSync\jobs-groups-options.tic
copy /y %~dp0ProfileBak\accounts-bookmarks.tic %LOCALAPPDATA%\GoodSync\accounts-bookmarks.tic
copy /y %~dp0ProfileBak\accounts-bookmarks.bak C:\Users\Administrator\AppData\Local\GoodSync\accounts-bookmarks.bak
copy /y %~dp0ProfileBak\accounts-bookmarks.tic C:\Users\Administrator\AppData\Local\GoodSync\accounts-bookmarks.tic
copy /y %~dp0ProfileBak\jobs-groups-options.tic C:\Users\Administrator\AppData\Local\GoodSync\jobs-groups-options.tic
copy /y %~dp0ProfileBak\accounts-bookmarks.tic C:\Users\Administrator\AppData\Local\GoodSync\accounts-bookmarks.tic
copy /y %~dp0ProfileBak\settings.tix C:\ProgramData\GoodSync\server\settings.tix
REM 文件夹AutoRun用于设置Windows启动时自动启动GoodSync2Go
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v GoodSync-1 /t REG_SZ /d "C:\APP\GoodSync2Go\GoodSync2Go.exe" /f
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v GoodSync-2 /t REG_SZ /d "C:\APP\GoodSync2Go\GoodSync2Go.exe" /f
REM reg import %~dp0AutoRun\reg.reg
regedit /s %~dp0AutoRun\reg.reg
REM 文件夹Screenshots用于存放实时单向备份软件GoodSync2Go的设置截屏图片
REM 文件夹Install用于保存GoodSync2Go的安装包备用,压缩包解压密码是333。
REM 一切准备就绪,立即启动GoodSync并执行实时单向备份任务
cd /d %~dp0GoodSync2Go\x64
if exist %~dp0min.txt (
start %~dp0GoodSync2Go\x64\GoodSync2Go.exe /min
exit
)
if exist %~dp0min.txt (
start %~dp0GoodSync2Go\x64\GoodSync2Go.exe /tray
exit
)
if exist %~dp0miniwin.txt (
start %~dp0GoodSync2Go\x64\GoodSync2Go.exe /miniwin
exit
)
if exist %~dp0forceminiwin.txt (
start %~dp0GoodSync2Go\x64\GoodSync2Go.exe /forceminiwin
exit
)
start %~dp0GoodSync2Go\x64\GoodSync2Go.exe /forcetray
exit
goto end-1
Usage:
GoodSync [<profile-option>...] [<run-option>...] [<global-option>...] [<job-command-and-options>]
<profile-option>, <job-command-and-options> are defined in GSync
<run-option> can be one of:
/?, /help - This help message
/min or /tray - Run minimized to tray icon
/forcetray - Run minimized to tray, do not allow to show main or mini window
/miniwin - Start in mini window mode, allow main window to show
/forceminiwin - Start in mini window mode, do not allow main window to show
<global-option> can be as described in GSync, plus these:
/exit - Exit GodSync GUI, after job started by Command Line has finished
/exit-ifok - Exit GodSync GUI, after job started by Command Line has finished with no terminal error
:end-1
www.cnblogs.com/delphixx

浙公网安备 33010602011771号