批量复制、安装和设置电脑软件的批处理脚本程序源代码-2022年1月6日
https: www autoahk com archives 39241
ht
批量复制、安装和设置电脑软件的批处理脚本程序源代码-2022年1月6日
https://www.autoahk.com/archives/39241
https://www.cnblogs.com/delphixx/p/15771095.html
下载链接:
https://www.123pan.com/s/vfk9-dpCn3
https://ds920.lanzoup.com/b01167g5c
密码: e6c3
我能力有限,无法使用路径中带有空格符的 %~dp0
如果有那位网友有完美的带空格路径解决方案请在本文最下面的评论区回复一下,谢谢。
D:\ProgramSetup\Setup.bat
rem 批量复制、安装和设置电脑软件的批处理脚本程序源代码-2022年1月6日rem D:\ProgramSetup\Setup.batrem 可以在局域网共享文件夹、RaiDrive连接群晖WebDAV后映射的虚拟磁盘或者银灿IS903量产U盘USB-CD-ROM中运行此批处理脚本rem 路径中不可以有空格rem 1、复制批处理脚本所在文件夹中的文件到D:\ProgramStart /Wait Robocopy.exe %~dp0 D:\Program\ /e /mt /r:3 /w:3 *.*rem 2、全自动静默安装AutoHotkey自动化热键脚本编程环境Start /Wait D:/Program/AutoHotkey/AutoHotkey_1.1.33.10_setup.exe /S /A32 /U32 /U64 /D=D:/Program/AutoHotkey/rem 3、等待3秒钟ping -n 3 127.0.0.1>nul 2>nulrem 4、设置AHK类型的自动化热键脚本文件的右键菜单关联(新建、运行、编译、编辑)Start D:/Program/AutoHotkey/RightMenuSetup.ahkrem 作者: 甲壳虫<jdchenjian@gmail.com>rem 修改作者: 兔子rem 5、运行、显示、最大化并激活 Total Commander 10.00 程序窗口Start D:\Program\TotalCMD\Run.ahkrem 6、运行并最小化 Everything 程序窗口Start /Min D:\Program\Everything\Everything.exerem 7、运行Maye(快速启动工具,用于管理和使用快捷方式、rem 设置快捷键(TotalCMD设置为F8,Everything设置为F11))Start D:\Program\Maye\Maye.exerem https://blog.arae.cc/post/25830.htmlrem https://github.com/25H/Maya/releases/latestrem https://www.lanzoux.com/b0bqwqjvgexit
D:/Program/AutoHotkey/RightMenuSetup.ahk
/*D:/Program/AutoHotkey/RightMenuSetup.ahkAutoHotkey 版本: 1.x操作系统: WinXP作者: 甲壳虫<jdchenjian@gmail.com>博客: http://hi.baidu.com/jdchenjian脚本说明: 此工具用来修改 AutoHotkey 脚本的右键菜单关联,适用于 AutoHotkey 安装版、绿色版。脚本版本: 2009-01-21修改作者: 兔子更新说明:2010.01.09 之前某个时间,修改AHK路径、编辑器路径、编译器路径,默认全部在当前目录下寻找2010.01.09 去掉默认在新建菜单的勾2010.06.21 如果SCITE为默认编辑器,则复制个人配置文件“SciTEUser.properties”到%USERPROFILE%2010.06.25 修正因#NoEnv使%USERPROFILE%变量直接引用无效2016.04.18 删除“2010.06.21”的改动*/; --- 20190207 晓亮修改 ---#NoEnvSetWorkingDir, %A_ScriptDir%; 管理员权限运行RunWith("admin")#NoEnv#SingleInstance, forceSendMode InputSetWorkingDir %A_ScriptDir%; 版本(仅用于显示)Script_Version=v1.0.3.2; AutoHotkey 原版的相关信息写在注册表HKCR主键中,; 尝试是当前用户否有权操作该键,如果无权操作HKCR键(受限用户),; 可通过操作注册表HKCU键来实现仅当前用户关联AHK脚本。IsLimitedUser:=0RegWrite, REG_SZ, HKCR, .testif ErrorLevelIsLimitedUser:=1RegDelete, HKCR, .testif ErrorLevelIsLimitedUser:=1if IsLimitedUser=0 ; 非受限用户操作HKCR键{RootKey=HKCRSubkey=}else ; 受限用户操作HKCU键{RootKey=HKCUSubkey=Software\Classes\ ; <-- 为简化后面的脚本,此子键须以“\”结尾}; 检查是否存在AHK注册表项RegRead, FileType, %RootKey%, %Subkey%.ahkif FileType<>{RegRead, value, %RootKey%, %Subkey%%FileType%\Shell\Open\Command ;AHK路径AHK_Path:=PathGetPath(value)RegRead, value, %RootKey%, %Subkey%%FileType%\Shell\Edit\Command ;编辑器路径Editor_Path:=PathGetPath(value)RegRead, value, %RootKey%, %Subkey%%FileType%\Shell\Compile\Command ;编译器路径Compiler_Path:=PathGetPath(value)RegRead, Template_Name, %RootKey%, %Subkey%.ahk\ShellNew, FileName ;模板文件名}elseFileType=AutoHotkeyScriptif AHK_Path={IfExist, %A_ScriptDir%\AutoHotkey.exeAHK_path=%A_ScriptDir%\AutoHotkey.exe}if Editor_Path={IfExist, %A_ScriptDir%\SciTE\SciTE.exeEditor_Path=%A_ScriptDir%\SciTE\SciTE.exe}if Compiler_Path={IfExist, %A_ScriptDir%\Compiler\Ahk2Exe.exeCompiler_Path=%A_ScriptDir%\Compiler\Ahk2Exe.exe}if Template_Name=Template_Name=Template.ahk; --- 20190207 晓亮修改 ---;设置AHK默认文件夹为 D:\Program\AutoHotkeyAHK_path=D:\Program\AutoHotkey\AutoHotkeyU32.exeEditor_Path=D:\Program\AutoHotkey\SciTE\SciTE.exeCompiler_Path=D:\Program\AutoHotkey\Compiler\Ahk2Exe.exeGui, Add, Tab, x10 y10 w480 h250 Choose1, 设置|说明Gui, Tab, 1Gui, Add, GroupBox, x20 y40 w460 h50 , “运行脚本”关联的 AutoHotkeyGui, Add, Edit, x35 y60 w340 h20 vAHK_Path, %AHK_path%Gui, Add, Button, x385 y60 w40 h20 gFind_AHK, 浏览Gui, Add, GroupBox, x20 y100 w460 h50 , “编辑脚本”关联的编辑器Gui, Add, Edit, x35 y120 w340 h20 vEditor_Path, %Editor_Path%Gui, Add, Button, x385 y120 w40 h20 gChoose_Editor, 浏览Gui, Add, Button, x430 y120 w40 h20 gDefault_Editor, 默认Gui, Add, GroupBox, x20 y160 w460 h50 , “编译脚本”关联的编译器Gui, Add, Edit, x35 y180 w340 h20 vCompiler_Path, %Compiler_Path%Gui, Add, Button, x385 y180 w40 h20 gChoose_Compiler, 浏览Gui, Add, Button, x430 y180 w40 h20 gDefault_Compiler, 默认Gui, Add, Checkbox, x35 y230 w270 h20 gNew_Script vNew_Script, 右键“新建”菜单中增加“AutoHotkey 脚本”Gui, Add, Button, x310 y230 w80 h20 vEdit_Template gEdit_Template, 编辑脚本模板Gui, Add, Button, x400 y230 w80 h20 vDelete_Template gDelete_Template, 删除脚本模板Gui, Tab, 2Gui, Font, boldGui, Add, Text,, AutoHotkey 脚本关联工具 ScriptSetting %Script_Version%Gui, FontGui, Font, CBlue underlineGui, Add, Text, gWebsite, 作者:甲壳虫 <jdchenjian@gmail.com>`n`n博客:http://hi.baidu.com/jdchenjianGui, FontGui, Add, Text, w450, 此工具用来修改 AutoHotkey 脚本的右键菜单关联,适用于 AutoHotkey 安装版、绿色版。Gui, Add, Text, w450, 您可以用它来修改默认脚本编辑器、编译器,修改默认的新建脚本模板。设置后,在右键菜单中添加“运行脚本”、“编辑脚本”、“编译脚本”和“新建 AutoHotkey 脚本”等选项。Gui, Add, Text, w450, 要取消脚本的系统关联,请按“卸载”。注意:卸载后您将无法通过双击来运行脚本,也不能通过右键菜单来启动脚本编辑器...Gui, TabGui, Add, Button, x100 y270 w60 h20 default gInstall, 设置Gui, Add, Button, x200 y270 w60 h20 gUninstall, 卸载Gui, Add, Button, x300 y270 w60 h20 gCancel, 取消Gui, Show, x250 y200 h300 w500 CEnter, ScriptSetting %Script_Version%GuiControl, Disable, Edit_Template ; 使“编辑脚本模板”按钮无效IfNotExist, %A_WinDir%\ShellNew\%Template_Name%GuiControl, Disable, Delete_Template ; 使“删除脚本模板”按钮无效; 当鼠标指向链接时,指针变成手形hCurs:=DllCall("LoadCursor","UInt",NULL,"Int",32649,"UInt") ;IDC_HANDOnMessage(0x200,"WM_MOUSEMOVE"); --- 20190207 晓亮修改 ---goto,Installreturn; 改变鼠标指针为手形WM_MOUSEMOVE(wParam,lParam){global hCursMouseGetPos,,,,ctrlif ctrl in static2DllCall("SetCursor","UInt",hCurs)return}returnGuiClose:GuiEscape:Cancel:ExitApp; 查找 AutoHotkey 主程序Find_AHK:Gui +OwnDialogsFileSelectFile, AHK_Path, 3, , 查找 AutoHotkey.exe, AutoHotkey.exeif AHK_Path<>GuiControl,,AHK_Path, %AHK_Path%gosub Default_Compilerreturn; 选择脚本编辑器Choose_Editor:Gui +OwnDialogsFileSelectFile, Editor_Path, 3, , 选择脚本编辑器, 程序(*.exe)if Editor_Path<>GuiControl,,Editor_Path, %Editor_Path%return; 默认脚本编辑器Default_Editor:IfExist, %A_ScriptDir%\SciTE\SciTE.exeEditor_Path=%A_ScriptDir%\SciTE\SciTE.exeelse ifExist, %A_WinDir%\system32\notepad.exeEditor_Path=%A_WinDir%\system32\notepad.exeGuiControl,, Editor_Path, %Editor_Path%return; 选择脚本编译器Choose_Compiler:Gui +OwnDialogsFileSelectFile, Compiler_Path, 3, , 选择脚本编译器, 程序(*.exe)if Compiler_Path<>GuiControl,,Compiler_Path, %Compiler_Path%return; 默认脚本编译器Default_Compiler:GuiControlGet, AHK_PathSplitPath, AHK_Path, ,AHK_DirIfExist, %AHK_Dir%\Compiler\Ahk2Exe.exe{Compiler_Path=%AHK_Dir%\Compiler\Ahk2Exe.exeGuiControl,, Compiler_Path, %Compiler_Path%}return; 设置Install:Gui, SubmitIfNotExist, %AHK_Path%{MsgBox, 16, ScriptSetting %Script_Version%, AutoHotkey 路径错误 !return}IfNotExist, %Editor_Path%{MsgBox, 16, ScriptSetting %Script_Version%, 编辑器路径错误 !return}IfNotExist, %Compiler_Path%{MsgBox, 16, ScriptSetting %Script_Version%, 编译器路径错误 !return}; 写入注册表RegWrite, REG_SZ, %RootKey%, %Subkey%.ahk,, %FileType%if New_Script=1{RegWrite, REG_SZ, %RootKey%, %Subkey%.ahk\ShellNew, FileName, %Template_Name%IfNotExist, %A_WinDir%\ShellNew\%Template_Name%gosub Create_Template}else{; --- 20190207 晓亮修改 ---; --- 此处不要删除右键新建ahk文件的菜单所以注释掉此代码;RegDelete, %RootKey%, %Subkey%.ahk\ShellNewIfExist, %A_WinDir%\ShellNew\%Template_Name%gosub Delete_Template}RegWrite, REG_SZ, %RootKey%, %Subkey%%FileType%,, AutoHotkey 脚本RegWrite, REG_SZ, %RootKey%, %Subkey%%FileType%\DefaultIcon,, %AHK_Path%`,1RegWrite, REG_SZ, %RootKey%, %Subkey%%FileType%\Shell,, OpenRegWrite, REG_SZ, %RootKey%, %Subkey%%FileType%\Shell\Open,, 运行脚本RegWrite, REG_SZ, %RootKey%, %Subkey%%FileType%\Shell\Open\Command,, "%AHK_Path%" "`%1" `%*RegWrite, REG_SZ, %RootKey%, %Subkey%%FileType%\Shell\Edit,, 编辑脚本RegWrite, REG_SZ, %RootKey%, %Subkey%%FileType%\Shell\Edit\Command,, "%Editor_Path%" "`%1"RegWrite, REG_SZ, %RootKey%, %Subkey%%FileType%\Shell\Compile,, 编译脚本IfInString, Compiler_Path, Ahk2Exe.exeRegWrite, REG_SZ, %RootKey%, %Subkey%%FileType%\Shell\Compile\Command,, "%Compiler_Path%" /in "`%1"elseRegWrite, REG_SZ, %RootKey%, %Subkey%%FileType%\Shell\Compile\Command,, "%Compiler_Path%" "`%1"/* 新版的scite不需要将“SciTEUser.properties”放在“USERPROFILE”目录下了if Editor_Path=%A_ScriptDir%\SciTE\SciTE.exe{EnvGet,USERPROFILE,USERPROFILEFileCopy,%A_ScriptDir%\SciTE\SciTEUser.properties,%USERPROFILE%\SciTEUser.properties,1}*/;MsgBox, 64, ScriptSetting %Script_Version%, 设置完毕 !ExitApp; 卸载Uninstall:; --- 20190207 晓亮修改 ---;MsgBox, 36, ScriptSetting %Script_Version%;, 注意:卸载后您将无法通过双击来运行脚本,也不能通过右键菜单来启动脚本编辑器...`n`n确定要取消 AHK 脚本的系统关联吗 ?;IfMsgBox, Yes;{;RegDelete, %RootKey%, %Subkey%.ahk;RegDelete, %RootKey%, %Subkey%%FileType%;gosub Delete_Template;ExitApp;}return; 编辑脚本模板Edit_Template:GuiControlGet, Editor_PathIfNotExist, %Editor_Path%{MsgBox, 64, ScriptSetting %Script_Version%, 脚本编辑器路径错误 !return}IfNotExist, %A_WinDir%\ShellNew\%Template_Name%gosub Create_TemplateRun, %Editor_Path% %A_WinDir%\ShellNew\%Template_Name%return; 使编辑脚本模板按钮有效/无效New_Script:GuiControlGet, New_Scriptif New_Script=0GuiControl, Disable, Edit_TemplateelseGuiControl, Enable, Edit_Templatereturn; 新建脚本模板Create_Template:GuiControlGet, AHK_PathFileGetVersion, AHK_Ver, %AHK_Path%FileAppend,(/*AutoHotkey 版本: %AHK_Ver%操作系统: %A_OSVersion%作者: %A_UserName%网站: http://www.AutoHotkey.com脚本说明:脚本版本: v1.0*/#NoEnvSendMode InputSetWorkingDir `%A_ScriptDir`%), %A_WinDir%\ShellNew\%Template_Name%GuiControl, Enable, Delete_Template ; 使“删除脚本模板”按钮有效return; 删除脚本模板Delete_Template:; --- 20190207 晓亮修改 ---;MsgBox, 36, ScriptSetting %Script_Version%; , 要删除当前的 AHK 脚本模板吗 ?`n`n脚本模板被删除后,仍可通过本工具重建模板。;IfMsgBox, Yes;FileDelete, %A_WinDir%\ShellNew\%Template_Name%;GuiControl, Disable, Delete_Template ; 使“删除脚本模板”按钮无效return; 打开网站Website:Run, http://hi.baidu.com/jdchenjianreturn; 从注册表值字符串中提取路径PathGetPath(pSourceCmd){local Path, ArgsStartPos = 0if (SubStr(pSourceCmd, 1, 1) = """")Path := SubStr(pSourceCmd, 2, InStr(pSourceCmd, """", false, 2) - 2)else{ArgsStartPos := InStr(pSourceCmd, " ")if ArgsStartPosPath := SubStr(pSourceCmd, 1, ArgsStartPos - 1)elsePath = %pSourceCmd%}return Path}; 强制自身进程以 管理员权限 或 普通权限 或 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:=0case "Admin","Yes","1": RunAsAdmin:=1case "default": RunAsAdmin:=A_IsAdmindefault: 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.exev:=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, , Dirif (RunAsAdmin=0){; 强制普通权限运行switch, A_IsCompiled{; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。; 工作目录不用单独指定,默认使用 A_WorkingDir 。case, "1": Run, RunAs.exe /trustlevel:0x20000 "\"%A_ScriptFullPath%\" /restart %ScriptParameters%",, Hidedefault: 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}}
D:\Program\TotalCMD\Run.ahk
;;/*; D:\Program\TotalCMD\Run.ahk;===========================================; 设置激活或者隐藏 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,Ignoreloop,5{DetectHiddenWindows,OnSleep,5IfWinExist,QQ595076941_AutoAHKRunExitApp}Gui, Show, Hide,QQ595076941_AutoAHKRun#Persistent; #NoTrayIconDetectHiddenWindows,OnSetTitleMatchMode,2; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8; Hotkey,F8,ActivateOrHideWindowHotkeyActivateOrHideWindowHotkey()return; ——————————————————–ActivateOrHideWindowHotkey(){; MsgBox,PressedHotkey检测到已经按下快捷键Sleep,5IfWinActive,ahk_class TTOTAL_CMD{Sleep,5if(WinActive(ahk_class TTOTAL_CMD)){Sleep,5WinGetClass, MyClass, AIfInString,MyClass,TTOTAL_CMD{Sleep,5IfWinActive,Total Commander{TCTitle:="Total Commander"Sleep,5WinGetActiveTitle,TitleIfInString,Title,%TCTitle%{; MsgBox,MinimizeWindow最小化指定窗口WinMinimize,Total Commander ahk_class TTOTAL_CMDSleep,5ExitApp}}}}}else{; MsgBox,ActivateWindow显示并且最大化并且激活指定窗口SetTimer,ActivateWindowTimer,20}}; ——————————————————–;根据窗口类名显示并激活Total Commander窗口ActivateWindowTimer(){; 1、如果程序没有运行则运行程序,这里我把可执行文件名改成了TotalCMD-v10.exeProcess,Exist,TotalCMD-v10.exeif (%ErrorLevel%=0){IfExist,D:/Program/TotalCMD/TotalCMD.exe{Run,D:/Program/TotalCMD/TotalCMD.exe}else{MsgBox,找不到文件 D:/Program/TotalCMD/TotalCMD.exereturn}}; 2、显示并激活(切换到)指定窗口WinShow,Total Commander ahk_class TTOTAL_CMDWinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeightWinActivate,Total Commander ahk_class TTOTAL_CMDWinMaximize,Total Commander ahk_class TTOTAL_CMDSleep,5DetectHiddenWindows,OnSetTitleMatchMode,2WinGet, WinID, ID,Total Commander ahk_class TTOTAL_CMDDllCall("SwitchToThisWindow", "UInt", WinID, "UInt", 1); 3、检查指定窗口是否激活成功,; 假如激活成功则退出Timer计时器循环执行,; 如果激活失败则继续尝试激活指定窗口Sleep,5IfWinActive,ahk_class TTOTAL_CMD{Sleep,5if(WinActive(ahk_class TTOTAL_CMD)){Sleep,5WinGetClass, MyClass, AIfInString,MyClass,TTOTAL_CMD{Sleep,5IfWinActive,Total Commander{TCTitle:="Total Commander"Sleep,5WinGetActiveTitle,TitleIfInString,Title,%TCTitle%{SetTimer,ActivateWindowTimer,DeleteSleep,5ExitApp}}}}}};================= The End =================;/*;================= 根据窗口类名激活或者隐藏窗口的AutoHotkey函数 =================; 请使用 窗口信息工具 AHKInfo 1.3.5 获取窗口的类名;根据窗口类名激活或者隐藏窗口ActivateOrHideWindow(VarExeFileName:="TotalCMD-v10″,VarWinClassName:="TTOTAL_CMD"){; 1、如果程序没有运行则运行程序Process,Exist,%VarExeFileName%.exeif (%ErrorLevel%=0){IfExist,%VarExeFileName%.exe{Run,%VarExeFileName%.exereturn}else{MsgBox,找不到文件 %VarExeFileName%.exereturn}}; 2、如果窗口未置顶则显示并激活(切换到)指定窗口IfWinNotActive,ahk_class %VarWinClassName%{loop,2{Sleep,50WinShow,ahk_class %VarWinClassName%;~ WinMaximize,ahk_class %VarWinClassName%Sleep,50WinGet, WinID, ID,ahk_class %VarWinClassName%Sleep,50DllCall("SwitchToThisWindow", "UInt", WinID, "UInt", 1)}return}; 3、如果窗口已经显示并置顶则隐藏窗口;~ WinMinimize,ahk_class %VarWinClassName%WinHide,ahk_class %VarWinClassName%}*/;
D:\ProgramSetup\Tree.txt
卷 软件 的文件夹 PATH 列表卷序列号为 ILOV-EYOUD:.├─AutoHotkey│ ├─AHK电子书│ ├─Compiler│ ├─Icon│ └─SciTE│ ├─extensions│ ├─locales│ ├─toolbar│ │ └─Lib│ ├─tools│ │ ├─AHK 正则终结者│ │ │ └─Lib│ │ ├─AHK 爬虫终结者│ │ │ ├─jsoneditor-5.15.0│ │ │ │ └─dist│ │ │ │ └─img│ │ │ └─Lib│ │ ├─AHK 脚本关联工具│ │ ├─AHK-Rare│ │ │ ├─assets│ │ │ ├─lib│ │ │ │ └─Highlighters│ │ │ └─tools│ │ ├─ahkinfo│ │ ├─AhkSpy│ │ ├─AHK_Window_Info│ │ ├─Au3Record│ │ ├─Auto-GUI│ │ │ ├─Constantine│ │ │ ├─Icons│ │ │ ├─Include│ │ │ ├─Lib│ │ │ └─Settings│ │ ├─Auto-Syntax-Tidy│ │ │ └─Syntax│ │ ├─AutoItMacroGenerator│ │ ├─AutoScriptWriter│ │ ├─CLISD│ │ ├─ColorFinder│ │ │ └─Lib│ │ ├─eXeScope│ │ ├─FindText│ │ ├─GenDocs│ │ │ ├─Demo│ │ │ └─Lib│ │ ├─iCodeRepository3│ │ │ ├─Clipboard_monitor│ │ │ ├─help│ │ │ │ └─pictures│ │ │ └─爱码源码仓库│ │ │ ├─AutoHotkey│ │ │ └─AutoHotkey2│ │ ├─Lib│ │ │ └─DebugVars│ │ ├─MacroCreator│ │ │ ├─Documentation│ │ │ │ ├─Lib│ │ │ │ └─MacroCreator_Help-doc│ │ │ │ ├─Examples│ │ │ │ └─Images│ │ │ ├─Lang│ │ │ ├─LIB│ │ │ └─Resources│ │ │ └─Icons│ │ ├─MagicBox│ │ │ ├─Examples│ │ │ ├─Functions│ │ │ ├─Icons│ │ │ ├─Lib│ │ │ └─Settings│ │ ├─SciTE交互示例│ │ ├─SmartGUI│ │ ├─Spy++│ │ ├─TestSuite│ │ ├─ViewWizard│ │ ├─WindowSpy│ │ ├─智能操作│ │ └─自动更新│ ├─user│ │ ├─Extensions│ │ ├─Macros│ │ ├─Scriptlets│ │ ├─Settings│ │ └─Styles│ ├─中文帮助│ └─技巧├─Everything├─FileZillaPro│ ├─Data│ ├─docs│ ├─filezillacfg│ ├─KeePass│ │ ├─Languages│ │ ├─Plugins│ │ └─XSL│ ├─locales│ │ ├─an│ │ ├─ar│ │ ├─az│ │ ├─bg_BG│ │ ├─ca│ │ ├─ca_ES@valencia│ │ ├─co│ │ ├─cs_CZ│ │ ├─cy│ │ ├─da│ │ ├─de│ │ ├─el│ │ ├─es│ │ ├─et│ │ ├─eu│ │ ├─fa_IR│ │ ├─fi_FI│ │ ├─fr│ │ ├─gl_ES│ │ ├─he_IL│ │ ├─hr│ │ ├─hu_HU│ │ ├─hy│ │ ├─id_ID│ │ ├─is│ │ ├─it│ │ ├─ja_JP│ │ ├─ka│ │ ├─kab│ │ ├─km_KH│ │ ├─ko_KR│ │ ├─ku│ │ ├─ky│ │ ├─lo_LA│ │ ├─lt_LT│ │ ├─lv_LV│ │ ├─mk_MK│ │ ├─nb_NO│ │ ├─ne│ │ ├─nl│ │ ├─nn_NO│ │ ├─oc│ │ ├─pl_PL│ │ ├─pt_BR│ │ ├─pt_PT│ │ ├─ro_RO│ │ ├─ru│ │ ├─sk_SK│ │ ├─sl_SI│ │ ├─sr│ │ ├─sv│ │ ├─ta│ │ ├─th_TH│ │ ├─tr│ │ ├─uk_UA│ │ ├─vi_VN│ │ ├─zh_CN│ │ └─zh_TW│ ├─resources│ │ ├─16x16│ │ ├─20x20│ │ ├─24x24│ │ ├─32x32│ │ ├─480x480│ │ ├─48x48│ │ ├─blukis│ │ │ ├─16x16│ │ │ ├─32x32│ │ │ └─48x48│ │ ├─classic│ │ │ └─16x16│ │ ├─cyril│ │ │ └─16x16│ │ ├─default│ │ │ └─480x480│ │ ├─flatzilla│ │ │ ├─16x16│ │ │ ├─24x24│ │ │ ├─32x32│ │ │ └─48x48│ │ ├─lone│ │ │ ├─16x16│ │ │ ├─32x32│ │ │ └─48x48│ │ ├─minimal│ │ │ ├─16x16│ │ │ └─32x32│ │ ├─opencrystal│ │ │ ├─16x16│ │ │ ├─20x20│ │ │ ├─24x24│ │ │ ├─32x32│ │ │ └─48x48│ │ ├─sun│ │ │ └─48x48│ │ ├─tango│ │ │ ├─16x16│ │ │ ├─32x32│ │ │ └─48x48│ │ └─xrc│ └─手动复制备份的配置和数据文件│ ├─7z1900│ ├─7zSfxTool│ │ ├─Plugin│ │ └─SFX 模块│ └─TrafficMonitor显示电脑网速监控悬浮窗│ ├─Logo│ └─skins│ ├─0默认皮肤│ ├─皮肤01│ ├─皮肤02│ ├─皮肤03│ ├─皮肤04│ ├─皮肤05│ ├─皮肤06│ ├─皮肤07│ ├─皮肤08│ ├─皮肤09│ ├─皮肤10│ ├─皮肤11│ └─皮肤12├─FolderSizes├─FSCapture│ └─Languages├─Hash├─IObitUnlocker├─JexChan├─KeePass│ ├─Languages│ ├─Plugins│ └─XSL├─Maye│ ├─bak│ ├─cache│ │ ├─icon│ │ └─search│ └─skin├─PowerOff├─Robocopy├─SGI├─TotalCMD│ ├─Cache│ ├─Filter32│ ├─Language│ └─User├─TrafficMonitor│ ├─Logo│ └─skins│ ├─0默认皮肤│ ├─皮肤01│ ├─皮肤02│ ├─皮肤03│ ├─皮肤04│ ├─皮肤05│ ├─皮肤06│ ├─皮肤07│ ├─皮肤08│ ├─皮肤09│ ├─皮肤10│ ├─皮肤11│ └─皮肤12├─WizTree│ ├─locale│ │ ├─bg│ │ │ └─LC_MESSAGES│ │ ├─da│ │ │ └─LC_MESSAGES│ │ ├─de│ │ │ └─LC_MESSAGES│ │ ├─el│ │ │ └─LC_MESSAGES│ │ ├─en│ │ │ └─LC_MESSAGES│ │ ├─es│ │ │ └─LC_MESSAGES│ │ ├─fr│ │ │ └─LC_MESSAGES│ │ ├─hu│ │ │ └─LC_MESSAGES│ │ ├─it│ │ │ └─LC_MESSAGES│ │ ├─ja│ │ │ └─LC_MESSAGES│ │ ├─ko│ │ │ └─LC_MESSAGES│ │ ├─nl│ │ │ └─LC_MESSAGES│ │ ├─no│ │ │ └─LC_MESSAGES│ │ ├─pl│ │ │ └─LC_MESSAGES│ │ ├─pt_BR│ │ │ └─LC_MESSAGES│ │ ├─ru│ │ │ └─LC_MESSAGES│ │ ├─sk│ │ │ └─LC_MESSAGES│ │ ├─sr│ │ │ └─LC_MESSAGES│ │ ├─sv│ │ │ └─LC_MESSAGES│ │ ├─tr│ │ │ └─LC_MESSAGES│ │ ├─uk│ │ │ └─LC_MESSAGES│ │ ├─zh_CHS│ │ │ └─LC_MESSAGES│ │ └─zh_CHT│ │ └─LC_MESSAGES│ └─log├─_Fix│ └─局域网共享│ └─备用版本-一键设置局域网共享├─_Setup│ ├─DeepFreeze│ │ ├─360文件解锁│ │ │ ├─Config│ │ │ │ └─defaultskin│ │ │ ├─MINI│ │ │ └─Utils│ │ └─LockHunter32│ ├─FastCopy│ │ └─doc│ ├─NetDrive2│ ├─ShadowDefender│ └─WebDrive└─图压





