LonerDergunov
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору coherent Цитата: Кто подскажет, как в ТС реализовать кнопку для выполнения команды распаковки файла под курсором в папку с именем файла без расширения? | Цитата: Или /extract_all это команда самого %P%N? | Доу... Вот что значит - недочитать ТЗ... Я понял, что нужно извлечь содержимое архива под курсором в каталог с именем архива, а так как архиватор не задан - то предполагается, что это нужно сделать средствами самого Тотала. Потому по-быстрому накатал простенький скрипт на AutoHotkey Ну да ладно, пускай будет, может кому пригодится тоже... Код: ;================================================================ ; Распаковать архив под курсором средствами ТС в активную панель в каталог с именем = имени архива (без расширения). ; Author: LonerD ;================================================================ #NoEnv #NoTrayIcon #SingleInstance force SetKeyDelay, 50, 50 if ( A_Is64bitOS = 0 ) TCArch := 32 else { WinGet, TCPID, PID, A TCArch := GetBitness(TCPID) } if TCArch = 32 { TAltEdit1 := "TAltEdit1" TCheckBox1 := "TCheckBox1" TButton4 := "TButton4" } else { TAltEdit1 := "Edit2" TCheckBox1 := "Button1" TButton4 := "Button5" } PostMessage, 0x433, 509,,, ahk_class TTOTAL_CMD WinWait, ahk_class TDLGUNZIPALL ControlFocus, % TAltEdit1, ahk_class TDLGUNZIPALL ControlSend, % TAltEdit1, {Delete}, ahk_class TDLGUNZIPALL Sleep, 50 ControlFocus, % TCheckBox1, ahk_class TDLGUNZIPALL ControlClick, % TCheckBox1, ahk_class TDLGUNZIPALL Sleep, 50 ControlFocus, % TButton4, ahk_class TDLGUNZIPALL ControlClick, % TButton4, ahk_class TDLGUNZIPALL ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GetBitness(Process) { ; PID or Name.exe Process, Exist, %Process% If !(PID := ErrorLevel) return 0 hProcess := DllCall("OpenProcess", "uint", 0x400 ; PROCESS_QUERY_INFORMATION , "uint", 0, "uint", PID, "ptr") If (hProcess = 0) return 0 res := DllCall("IsWow64Process", "ptr", hProcess, "int *", Wow64Process) If (res = 0) return 0 DllCall("CloseHandle", "ptr", hProcess) return Wow64Process? 32:64 } ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | oshizelly Цитата: Э-э-гм... И что должно при этом происходить? | То, что повешено пользователем на этот хоткей У меня, например, на Shift+Space повешена Command(4168) |