使用 DC/TC 打开当前资源管理器目录
文章目录
介绍
虽然可以使用第三方文件管理器,但大部分程序默认打开的都是 Windows 的文件资源管理器,如何结合在一起使用?可以尝试使用第三方文件管理器打开当前资源管理器所在的目录。
环境
- Windows 10 21H2
- Total Commander 10.0 64bit
- Double Commander 1.0.3 beta
思路
- 响应特定快捷键执行命令
- 获取当前资源管理器打开的目录
- 将路径作为参数打开第三方文件管理器
- 关闭当前资源管理器
方案选择
可以使用 C++ 编程实现,不过感觉有点用高射炮打蚊子了。
正好有 AutoHotKey 这种比较成熟的工具,需要的功能都有,并且很好地支持 Windows 相关接口。
编辑工具
- Visual Studio Code 1.63.2
- AutoHotkey Plus Plus v2.8.1
使用 AutoHotkey 扩展可以语法高亮。
注意事项
- 只在资源管理器中响应快捷键。
- 需要优雅的方法,尽可能减少无用冗余操作。
- 网上的方法使用快捷键定位到地址栏,使用 Ctrl+C 剪贴板获取当前路径,使用 Ctrl+W 关闭当前窗口。
- 使用 Ctrl+C 会污染剪贴板。
- 这些方法有很多问题,系统卡顿时或者有其他窗口出现时,操作无法完成,并且有可能会关闭错误窗口。
- 需要支持含有空格的路径。
- 需要支持含有中文的路径。
- 需要支持关闭当前资源管理器。
- 发送 WM_CLOSE 消息,而不是 Ctrl+W 快捷键。
最终结果
使用 Alt+E
可以在 DC/TC 中打开当前资源管理器中的目录,并且随即关闭资源管理器。并且此快捷键只在资源管理器中生效,其他应用中依然可以使用 Alt+E
触发原有功能。
最终脚本做了两份,分别用于打开 Double Commander 与 Total Commander。如果想要修改快捷键与程序的启动参数,可以直接修改代码。