在资源管理器和文件对话框之间同步/跳转到路径

在资源管理器和文件对话框之间同步/跳转到路径

我一直在使用启动器应用程序(利斯塔里),但是它已经很久没有更新了,而且我想要停止使用它,因为它很容易就消耗内存。

但是,它有一个有用的功能,我每天都会使用多次,那就是如果你打开了一个普通的文件资源管理器窗口,并且还打开了一个文件对话框(例如在应用程序中保存或打开文件),那么 Listary 将同步/跳转到文件对话框中的同一个文件夹。

用文字解释有点困难,所以这是视频展示它的功能以及屏幕截图:

在此处输入图片描述

所以我的问题是,如果不使用 Listary,我可以用什么来复制这个?我试过搜索,但我唯一想到的是这个问题,但如果可能的话,我宁愿不使用不受支持的软件。

任何解决方案确实都可以,Autohotkey 或第三方应用程序(最好是免费/O/S)。

答案1

尝试这个 Autohotkey 脚本:

#NoEnv
#SingleInstance Force
#Persistent

; create a group of the file dialogue windows
GroupAdd, file_dialogue_Group, Open ahk_class #32770
GroupAdd, file_dialogue_Group, Save As ahk_class #32770

SetTimer, ExplorerPathInFileDialogue, 300  ; check every 300 ms
Return

ExplorerPathInFileDialogue: 
    If !WinActive("ahk_group file_dialogue_Group")  ; "!" means "NOT" in this case
        return  ; do nothing
    If !WinExist("ahk_class CabinetWClass") ; explorer
        return
    ; otherwise:
    SendInput, % GetExplorerPath() 
    Sleep, 100
    SendInput, {Enter}{Del}
    SetTimer, ExplorerPathInFileDialogue, Off
    WinWaitClose, ahk_group file_dialogue_Group
    SetTimer, ExplorerPathInFileDialogue, On
Return

GetExplorerPath(){
    for window in ComObjCreate("Shell.Application").Windows
    {
       explorer_path := ""
       try explorer_path := window.Document.Folder.Self.Path
       if (explorer_path != "")
            return explorer_path
    }
}

https://autohotkey.com/docs/commands/SetTimer.htm

相关内容