Orion9

|
Posted: Sun Feb 08, 2026 14:09 Post subject: |
|
|
FallenAngel
Если у вас со скриптами PowerShell получается работать, то уверен, что и с Autorun получится. Вопрос времени.
Чтобы добавить действие на кнопку "Нет", нужно обработать код с номером 7 в макросе EXTENDED. Из справки Autorun на функцию MsgBox:
| Code: | После закрытия диалога сообщения функция присвоит макросу EXTENDED числовой код, идентифицирующий нажатую кнопку:
1 «OK»
2 «Отмена»
3 «Прервать»
4 «Повтор»
5 «Пропустить»
6 «Да»
7 «Нет»
10 «Повторить»
11 «Продолжить»
Возможные сценарии при нажатии клавиши ESC:
Если есть кнопка «Отмена», функция присвоит 2 макросу EXTENDED.
Если нет кнопок «Отмена» и «OK», никакого эффекта не будет.
Если нет кнопки «Отмена», но есть «OK», функция присвоит 1 макросу EXTENDED.
Функция не всегда работает на 64-битной версии Total Commander. |
Т.е. нужно добавить:
| Code: | # кнопка "Нет"
If EXTENDED = 7 Then SendCommand(2040) #cm_IntCompareFilesByContent
# кнопка "Да" не была нажата, выйти из скрипта
If EXTENDED <> 6 Then Return |
Кстати, для этой задачи хорошо может подойти MsgBoxLinks, вместо стандартного MsgBox. Но там код чуть сложнее, пока не могу его написать и протестировать. Позднее попробую.
| Quote: | | Может тогда лучше упростить? Просто повесить хоткей: нажал - и листер стал размером с окно ТС. |
Можно так сделать. Нужно зарегистрировать отдельный код на функцию SyncListerPosition и создать для него em_команду или сразу повесить функцию на хоткей.
| Code: | RegisterCommand 60051 "SyncListerPosition"
# Alt + "["
SetHotkeyAction /K:A /V:219 SyncListerPosition
Func SyncListerPosition()
Static c = 0
If IniRead("~/R", COMMANDER_INI, "Lister", "Maximized", 0) = 0 Then
WinGetPos("x", "y", "w", "h")
IniWrite("~/R", COMMANDER_INI, "Lister", "x", x)
IniWrite("~/R", COMMANDER_INI, "Lister", "y", y)
IniWrite("~/R", COMMANDER_INI, "Lister", "dx", w)
IniWrite("~/R", COMMANDER_INI, "Lister", "dy", h)
c += 4
#ShowHint("Запись ключей: " & c, SYSINFO_DESKTOPWIDTH/2-50, SYSINFO_DESKTOPHEIGHT/2, 1000, 1)
EndIf
EndFunc
|
Посмотрите в справочнике SetHotkeyAction.
| Quote: | | Может тогда и InfoHeader.aucfg обновите с учетом этой новинки? |
Так он уже обновлен в последней версии на предыдущей странице, пропустили?  |
|