[AHK]切换到文件管理器中正在浏览的路径

网友表示经常使用:在某对话框里切换到TC或者资源管理器中正在浏览的路径这个功能。

用ahk实现并不难,第一步实现从TC或者资源管理器获取当前浏览的路径。

①从TC获取当前的路径

getTC()
{
    ClipSaved := ClipboardAll 
    clipboard =
    SendMessage 1075, 2029, 0, , ahk_class TTOTAL_CMD
    ClipWait,2 
    OutDir=%clipboard%
    Clipboard := ClipSaved 
    ClipSaved = 
    return OutDir
}

②从资源管理器获取当前路径

getExplorer()
{    
    Loop,9
	{
	    ControlGetText, folder, ToolbarWindow32%A_Index%, ahk_class CabinetWClass
	} until (InStr(folder,"地址"))

    folder:=StrReplace(folder,"地址: ","") 

if (folder="计算机" )
    folder:="c:\"
return folder
}

其实还有更简单的办法:

这样只需WinGetTitle, folder, ahk_class CabinetWClass 

第二步:切换当前对话框的路径为上面获得的。

ChangePath(folder)
{
    ControlGetText, w_Edit1Text, Edit1, A
    ControlClick, Edit1, A
    ControlSetText, Edit1, %folder%, A
    ControlSend, Edit1, {Enter}, A
    Sleep,100
    ControlSetText, Edit1, %w_Edit1Text%, A
}

ahk作为强大的胶水语言,怎么组织热键、怎么调用上面两个功能,soeasy。

/*
作者:sunwind
;2018年8月20日 

脚本说明:

在保存/打开对话框中点击菜单项,可以更换对话框到相应路径
        #e 将对话框路径切换到资源管理器的路径
        #t 将对话框路径切换到TC的路径
        
环境:Windows10
*/

#Persistent
#SingleInstance, force
;把对话框的路径切换成资源管理器当前浏览的
#e::
ChangePath(getExplorer())
return

;把对话框的路径切换成TC当前浏览的
#t::
ChangePath(gettc())
return

猜你喜欢

转载自blog.csdn.net/liuyukuan/article/details/81875844