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

102 篇文章 5 订阅
55 篇文章 7 订阅

网友表示经常使用:在某对话框里切换到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 

PS.长路径可能被截断。

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

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

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值