同步TC路径到打开对话框,代替Listary功能之一(此文已过期)
TC很好用。TC的目录跳转也很方便,还是双窗口。
Windows打开对话框很难有。目录跳转很不方便,还无法代替。
好在Listary统一了这两者,解决了这个问题,可以方便地把TC/资源管理器路径同步到打开对话框。
但用惯了Everything,感觉Listary有点复杂臃肿,搜索结果不像 Everything 是列表可重用,进程也多,而且大部分功能用不到。
对我而言,装Listary就是为了目录跳转方便,感觉有点杀鸡用牛刀。
于是就有了代用的AHK脚本,实现起来很简单,一个定时器即可。
#SingleInstance Force #NoTrayIcon #NoEnv ListLines Off SetTimer,CheckWin,500 return CheckWin: If WinExist("ahk_class TTOTAL_CMD") And WinExist("ahk_class #32770",,,"请先输入视频或音频文件") ;仅支持 TC 运行时的系统通用对话框;屏蔽 MPC-BE 窗口,可修改 { WinGetTitle,tempStr If tempStr Not Contains 打开,另存,选择,浏览打印文件,保存 ;匹配通用对话框,可增改 Return WinGet,id_OD,Id If WinActive("ahk_class TTOTAL_CMD") { SetTimer,CheckWin,Off WinWaitActive,Ahk_Id %id_OD% Gosub SwitchDir SetTimer,CheckWin,On } } return #if WinActive("ahk_id" . id_OD) Tab:: ;使用 Tab 或 Ctrl+G 键将当前 TC 活动窗口目录置为当前 ^G:: Gosub SwitchDir Return #if SwitchDir: ControlSetText,Edit1,% getTcFolder(),Ahk_Id %id_OD% ControlFocus,Edit1,Ahk_Id %id_OD% SendInput {Enter} ControlSetText,Edit1,,Ahk_Id %id_OD% return getTcFolder() { ClipSaved:=ClipboardAll clipboard = SendMessage 1075,2029,0,,ahk_class TTOTAL_CMD ClipWait,2 OutDir=%clipboard% Clipboard:=ClipSaved ClipSaved= Return OutDir }