Код: Выделить всё
#include <Process.au3>
#include <String.au3>
Func GetAddress($addressText)
if StringInStr($addressText, ": ")>0 then
Local $arr = _StringExplode($addressText, ": ", 1)
Return $arr[1]
else
Return ""
endif
EndFunc
Func RunFM($path)
Run("C:\Unreal Commander\Uncom.exe """ & $path & """")
EndFunc
$addressControlId = 1001
While 1=1
$wnd = WinGetHandle("")
$process = WinGetProcess($wnd)
$processName = _ProcessGetName ($process)
if $processName="explorer.exe" then
$address = GetAddress(ControlGetText($wnd, "", $addressControlId))
if FileExists($address) then
WinClose($wnd, "")
RunFM($address)
endif
endif
sleep(100)
Wend
p.s. предыдущая тема как-то не отобразилась, хотя вроде ни сообщений на тему премодерации, ни ошибок не было.
UPD. Пофикшена работа с содержащими пробелы путями, обновленный скрипт в сообщении (см. код выше)