;在资源管理器中获取当前选择的文件名/文件路径 以发给beyond compare 这类程序
;sunwind 整理
;2014年11月15日
SetTitleMatchMode, RegEx
GroupAdd, Explorer, ahk_class CabinetWClass
GroupAdd, Explorer, ahk_class ExploreWClass
ComObjError(0)
#IfWinActive, ahk_group Explorer
#z::
hWnd := WinExist("ahk_class (?:Cabinet|Explore)WClass")
selected:=ShellFolder(hWnd)
MsgBox %selected%
Return
#IfWinActive
ShellFolder(hWnd=0)
{
If hWnd || (hWnd := WinExist("ahk_class (?:Cabinet|Explore)WClass"))
{
For window in ComObjCreate("Shell.Application").Windows
doc := window.Document
Until (window.hWnd = hWnd)
}
sFolder := doc.folder.self.path, sFocus := doc.focuseditem.name
MsgBox %sFolder% ;获取forlder
For item in doc.SelectedItems {
;~ sSelect .= (!sSelect ? "" : "`n") item.name
sSelect .= (!sSelect ? "" : "`n") item.path
}
Return sSelect
}
[AHK]获取多个文件路径,构造命令行,发送给Beyond Compare等程序
最新推荐文章于 2022-10-15 10:15:08 发布