Тема: AHK: SelectedItems из FileDialog
Есть код который получает список выделенных файлов и папок в окне проводника и рабочего стола.
Как получить тоже самое из окон "Сохранить как" и "Выбрать папку"?
Смотрел тут, но так и не понял возможно ли это.
https://docs.microsoft.com/en-us/previo … dfrom=MSDN
https://www.autohotkey.com/boards/viewt … 83#p145883
https://www.autohotkey.com/boards/viewt … 73#p302618
https://www.autohotkey.com/boards/viewt … 75#p302675
1::MsgBox % sel := JEE_ExpWinGetSel()
JEE_ExpWinGetSel(hWnd:=0, vSep:="`n")
{
local oItem, oWin, oWindows, vCount, vOutput, vWinClass
DetectHiddenWindows, On
(!hWnd) && hWnd := WinExist("A")
WinGetClass, vWinClass, % "ahk_id " hWnd
if (vWinClass = "CabinetWClass") || (vWinClass = "ExploreWClass")
{
for oWin in ComObjCreate("Shell.Application").Windows
if (oWin.HWND = hWnd)
break
}
else if (vWinClass = "Progman") || (vWinClass = "WorkerW")
{
oWindows := ComObjCreate("Shell.Application").Windows
VarSetCapacity(hWnd, 4, 0)
;SWC_DESKTOP := 0x8 ;VT_BYREF := 0x4000 ;VT_I4 := 0x3 ;SWFO_NEEDDISPATCH := 0x1
oWin := oWindows.FindWindowSW(0, "", 8, ComObject(0x4003, &hWnd), 1)
}
else
return
vCount := oWin.Document.SelectedItems.Count
vOutput := ""
VarSetCapacity(vOutput, (260+StrLen(vSep))*vCount*2)
for oItem in oWin.Document.SelectedItems
if !(SubStr(oItem.path, 1, 3) = "::{")
vOutput .= oItem.path vSep
oWindows := oWin := oItem := ""
return SubStr(vOutput, 1, -StrLen(vSep))
}
Win10x64 AhkSpy, Hotkey, ClockGui