[ahk]如何将XP系统的资源管理器替换成TC
在DO中有接管WindowsExplorer对计算机中的文件进行管理的选项。TC(TOTALCMD)在启动方面(双击桌面启动、alt tab切换)有些弱,也未提供替换系统Explorer选项。
自己动手丰衣足食!要模仿DO的方式,自己修改注册表来实现TC代替系统的资源管理器。
废话少说,按老习惯上菜,ahk脚本,一共两个脚本,第一个是用来设置用的,只是设置时运行而已,第二个脚本本不用运行,是由系统自动调用的:
第一个脚本,设置好下面代码中的Config段,运行一次, 替换掉或者取消替换系统的Explorer。
;Filename:OpenInTC.ahk;操作系统:windows XP;作者:sunwind(1576157);博客:http://blog.csdn.net/liuyukuan;功能:xp系统下设置TC接管Explorer对计算机中的文件进行管理,本文件主要是修改注册表项,智能处理还需ExplorerHandler指向的ahk文件来处理。;应用场景:本脚本只是设置用TC打开普通的文件夹;〔我的文档〕〔我的电脑〕〔网上邻居〕〔控制面板〕〔打印机和传真〕;请用户配置Config中这两项!Config:AutoHotkey_path=x:\AutoHotkey\AutoHotkey\AutoHotkey.exe;用来处理用户所点击文件夹信息的,智能需在ExplorerHandler对应的ahk文件中实现!ExplorerHandler=X:\short\OpenInTC.ahk Main:regItem=OpenInTC;引号 百分号 都需要转义符regValue=`"%AutoHotkey_path%`" `"%ExplorerHandler%`" `"`%1`"DirectoryShell:=getDirectoryShell(regItem)Menu, MyMenu, Add,安装(&i)%regItem%,Label_InstallMenu, MyMenu, Add,卸载(&u)%regItem%,Label_UnInstallGui, Menu, MyMenuGui, Show,w500 h300, 当前DirectoryShell是%DirectoryShell% ; Show file name in title bar.return GuiClose: ; User closed the window.ExitAppLabel_UnInstall:RegWrite, REG_SZ, HKEY_CLASSES_ROOT, Directory\shell, , noneRegDelete,HKEY_CLASSES_ROOT, Directory\shell\%regItem%MsgBox 卸载%regItem%完成gosub,MainreturnLabel_Install:RegWrite, REG_SZ, HKEY_CLASSES_ROOT, Directory\shell, ,%regItem%RegWrite, REG_SZ, HKEY_CLASSES_ROOT, Directory\shell\%regItem%, , Open in TotalCommandRegWrite, REG_SZ, HKEY_CLASSES_ROOT, Directory\shell\%regItem%\command, ,%regValue%MsgBox 安装%regItem%完成gosub,MainreturngetDirectoryShell(regItem){RegRead, DirectoryShell, HKEY_CLASSES_ROOT, Directory\shell, If(DirectoryShell!=regItem)SelectedFileName:="Explorer"elseSelectedFileName:=DirectoryShellreturn %SelectedFileName%}
第二个脚本,设置好下面代码中的TC的目录,放在该放的位置,文件名也是要符合在上面文件中ExplorerHandler变量中所指定的:
;Filename:OpenInTC.ahk;操作系统:windows XP;作者:sunwind(1576157);博客:http://blog.csdn.net/liuyukuan;功能:xp系统下设置TC接管Explorer对计算机中的文件进行管理,本文件接收到鼠标点击的文件夹,调用相关文件管理器来处理,可自行在此实现智能逻辑(需ahk基础,比如按着某键时才调用TC打开文件夹等等)。;ToDo:增加识别TC已经打开的路径tab的能力,若已经存在相关路径tab就只是激活,而不是重复打开。;应用场景:用自己指定的文件管理器打开计算机中的文件夹。TC:="m:\Total Commander\TOTALCMD.EXE"Loop, %0% ;对每个参数执行一次:{ param:= %A_Index% if param<>Run "%TC%" /O /T /P=L /L="%param%"elserun explorer.exe ::{20D04FE0-3AEA-1069-A2D8-08002B30309D} }
- 3楼ccaiai昨天 18:13
- 日风兄……丰胸啊nwin7下可以参考nhttp://www.xiazhiri.com/totalcommander-default.html
- 2楼liuyukuan4天前 23:38
- 之所以把 Directory 打开关联 到一个ahk文件 而不是直接TOTALCMD.EXE,是为了方便以后扩展,例如1 防止打开重复标签;2 可以实现 检测某键是否按着 而区分是用Explorer还是用TC,或者是区分是TC左边列表还是右边列表
- 1楼liuyukuan4天前 23:38
- 对Drive(驱动器)同此处理。但Folder(资料夹)不建议修改。