Описание команды


Запуск команд в том же процессе, в зависимости от зажатых клавиш после вызова.
<PRESW=...> ... <PRESW=...> ... <PRESWEND>

<PRESW=HotKey1> commands1 <PRESW=HotKey2> commands2 ... <PRESW=HotKeyN> commandsN <PRESWEND>

Параметры:

<PRESW=HotKey1>Тег. HotKey1 - значение или значения клавиш, прописанных через запятую.
commands1Строка команд. Команда(ы) выполняются если нажимаются клавиши HotKey1.
<PRESW=HotKey2>Тег. HotKey2 - значение или значения клавиш, прописанных через запятую.
commands2Строка команд. Команда(ы) выполняются если нажимаются клавиши HotKey2.
......
<PRESW=HotKeyN>Тег. HotKeyN - значение или значения клавиш, прописанных через запятую.
commandsNСтрока команд. Команда(ы) выполняются если нажимаются клавиши HotKeyN.
<PRESWEND>Закрывающий тег.

Примечания:

• Теги и команды <PRESW=...> прописываются через пробел.
• Команды (commandsN) и их параметры имеют тот же синтаксис, что и в примерах.
• Значения клавиш см. Дополнение №3
• Определение нажатых клавиш работает быстро, поэтому при совпадении значений клавиш в разных <PRESW=...>, например, <10,11,53> <10,11> <10> будет срабатывать всегда наименьшее.
• Нажатия клавиш и выполнения команд срабатывают последовательно, т.е. ожидание выполнения предыдущей команды.
• В строке commands может использоваться конструкция

<PRESW=HotKey> commands1 <NOPRESW> commands2

при этом commands1 выполняется при нажатии и удерживании клавиш HotKey, а commands2 выполняется при их отжатии. Тег <NOPRESW> является разделителем.

• Для завершения работы утилиты можно воспользоваться тегом :EXIT:

• Для завершения работы команды <PRESW> и переход к выполнению других команд, следующих за <PRESWEND> можно воспользоваться тегом :EXITPRESW:

• Для отображения иконки в трее при работе <PRESW>

См. также:

anf2d, arr2d, asave, carry, cmd64, cmdcm, cname, cycles, dilog, dubls, envgt, global, hotkiy, ifthen, inbox, listx, macro, noglob, pause, pressy, renew, scrpt, sends, slects, slist, swcmd, swcths, tempxx, tempz, timess, xopen, zmenu, zmenz

Примеры:
 Как создать кнопку?

<PRESW=10,11,53> infbx=||SHIFT+CTRL+S||3||170||60 <PRESW=10,11,44> infbx=||SHIFT+CTRL+D||3||170||60 <NOPRESW> infbx=||ОТЖАТИЕ~~SHIFT+CTRL+D||3||240||60 <PRESW=20> infbx=||ПРОБЕЛ||3||120||60 <PRESW=12> infbx=||ALT||3||120||60 <NOPRESW> infbx=||ОТЖАТИЕ~~ALT||3||170||60 <PRESW=0D> infbx=||ENTER||3||120||60 <PRESW=1B> infbx=||ESC~~ВЫХОД||3||170||60 :EXITPRESW: <PRESWEND> infbx=||Завершена~~работа~~PRESW.~~Выполняются~~последующие~~команды||3||300||65 ;; пример работы команды <PRESW>

<PRESW=10,11,53> infbx=||SHIFT+CTRL+S||3||170||60 <PRESW=10,11,44> infbx=||SHIFT+CTRL+D||3||170||60 <NOPRESW> infbx=||ОТЖАТИЕ~~SHIFT+CTRL+D||3||260||60 <PRESW=20> infbx=||ПРОБЕЛ||3||120||60 <PRESW=12> infbx=||ALT||3||120||60 <NOPRESW> infbx=||ОТЖАТИЕ~~ALT||3||170||60 <PRESW=0D> infbx=||ENTER||3||120||60 <PRESW=1B> infbx=||ESC~~ВЫХОД||3||170||60 :EXIT: <PRESWEND> ;; пример работы команды <PRESW>

<PRESW=10> infbx=||SHIFT||3||170||60 <NOPRESW> infbx=||ОТЖАТИЕ~~SHIFT||3||240||60 <PRESW=1B> infbx=||ESC~~ВЫХОД||3||170||60 :EXIT: <PRESWEND> ;; пример работы команды <PRESW>

<PRESW=12> exect=$var_i+=1||ToolTip('Нажатие~~ALT~~'&$var_i,5,5) <PRESW=1B> infbx=||ESC~~ВЫХОД||3||170||60 :EXIT: <PRESWEND> ;; пример работы команды <PRESW> - количество нажатий в подсказке

<PRESW=12> exect=$var_i+=1||ToolTip('Нажатие~~ALT~~'&$var_i,5,5)+Sleep(99) <PRESW=1B> infbx=||ESC~~ВЫХОД||3||170||60 :EXIT: <PRESWEND> ;; пример работы команды <PRESW> - количество нажатий в подсказке с заданной задержкой между нажатиями

<PRESW=13> keybd=0~~^c exect=$var_s=StringRegExp(StringLeft(ClipGet(),1),'[а-яё]')?_CmdCm('bufsr=@@QWERTYinENG'):_CmdCm('bufsr=@@QWERTYinRUS') keybd=0~~+{INSERT} <PRESW=1B> :EXIT: <PRESWEND> ;; при нажатии на клавиши "Pause" проверяет буфер обмена: если первая буква русская, то переводит всё содержимое буфера обмена в клавиатурные английские буквы, если нет, то наоборот, затем вставляет текст в активный окно программы


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru