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


infbx

Создаёт настроенное всплывающее окно с текстом.

infbx=Title||Text, ||Seconds, ||Width, ||Height, ||X, ||Y, ||Options, ||FontName, ||FontSize, ||FontWidth

Параметры:

1-й обязательный параметр.
TitleЗаголовок. Title - Заголовок всплывающего окна.
2-й обязательный параметр.
TextТекст. Text - Текст всплывающего окна.
Дополнительные параметры:
SecondsВремя. Seconds - Количество секунд, на которое появляется окно.
WidthШирина. Width - ширина окна в пикселях.
HeightВысота. Height - высота окна в пикселях.
XX. Отступ слева (в пикселях). По умолчанию и при -1 окно центрируется.
YY. Отступ сверху (в пикселях). По умолчанию и при -1 окно центрируется.
OptionsВид окна. Где Options:
0 - выравнивание по центру, поверх всех окон, с заголовком (по умолчанию).
1 - окно без заголовка и границ.
2 - отключает "поверх всех окон".
4 - выравнивание текста по левому краю.
8 - выравнивание текста по правому краю.
16 - окно может быть перемещено.
32 - центрировать текст по вертикали.
Необходимо сложить нужные значения. По умолчанию "поверх всех окон, с заголовком, выравнивание по центру".
FontNameИмя. FontName - устанавливаемое имя шрифта. Если значение "" или шрифт не найден, будет использован шрифт OS.
FontSizeРазмер. FontSize - размер шрифта. По умолчанию 12 (стандартные размеры: 6 8 9 10 11 12 14 16 18 20 22 24 26 28 36 48 72).
FontWidthТолщина. FontWidth - толщина шрифта. 400 - нормальный, 700 - жирный.

Примечания:

Важен порядок параметров.Прописываются необходимые параметры подряд, недостающие берутся по умолчанию.

Дополнительные символы, которые можно использовать в строке: "@CR" - Символ возврата каретки, Chr(13), "@LF" - Символ перевода строки, Chr(10), "@CRLF" = @CR & @LF, "@TAB" - Символ Tab, Chr(9).

Если в команде(ах) необходимы кавычки, то используются две одинарных кавычки (апострофа) '' , если в команде необходим пробел - используются два символа тильды ~~.

Во 2-м параметре Text могут быть использована:
  • информация глобальных переменных GLOBALNAME.
  • информация параметра [info]

В связи с тем, что текст окна может быть слишком большой, то можно использовать имена ключей InfoBox1 ... InfoBoxN в TCIMG_.lng, где прописывается строка со всеми параметрами, с тем же синтаксисом.

Пример записи:

InfoBox1=Очистка временных файлов||Задача закончена.@CRLF1. Удалены временные файлы.@CRLF2. Очищена корзина на всех дисках.@CRLF3. Обновлён кеш.||6||300||100||0||0||20


Может выглядеть следующим образом:

   

См. также:

await, beepss, delvlc, dilog, fontx, formt, imgpr, infht, itray, movlc, posts, prgrs, shape, sndps, style, stylp, tcgup, tslit, voice, watch, winls, wnamp

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

<FOR> 1 <TO> 5 infbx=InfoBox_TEST1 $FORCONT=1 infbx=InfoBox_TEST2 <NEXT> ;; пример использования тега $FORCONT в цикле

<FOR> 1 <TO> 5 infbx=InfoBox_TEST1 exect=$var_n=0 $FORCONT=$var_n=1?0:1 infbx=InfoBox_TEST2 <NEXT> ;; пример использования тега $FORCONT в цикле

<FOR> 1 <TO> 5 infbx=InfoBox10 sndps=1 <NEXT> ;; пять раз выдавать сообщение со звуком

<FOR> 1 <TO> 9999999 exect=$var_i=@MIN=60?_CmdCm('$FOREXIT=1'):0 cends=<info=s30> await=0 aends=x||##rndm<3|10> creat=$f254||buf-GLOBALAENDS<1>.txt||content<$GLOBALAENDS[1]>||code<4>||owrite<1> bends=<info=o30$f254\buf-GLOBALAENDS<1>.txt> GLOBALCENDS<a> GLOBALBENDS<a> dends=<info=n49|GLOBALBENDS<1>-GLOBALCENDS<1>> GLOBALDENDS<a> exect=$var_trig=GLOBALDENDS<1>>=300?_CmdCm('infbx=InfoBox_TEST1'):0 delsm=$f254\buf-GLOBALAENDS<1>.txt||1 <NEXT> tempxx ;; запустить отслеживание времени для последнего доступа к буферу (на определенное время в минутах, максимально 60 минут) и если оно больше 5 минут, вывести уведомление

<HOTKEY=01-2000> infbx=||LEFT||3||100||60 <HOTKEY=X> infbx=||НЕТ||3||100||60 ;; пример запуска команд при зажатой клавиши ЛКМ 2000 мс (при запуске команды ЛКМ придётся сделать длинный второй клик)

<HOTKEY=10,11> infbx=||CTRL+SHIFT||3||120||60 <HOTKEY=11,12> infbx=||CTRL+ALT||3||120||60 <HOTKEY=10,12> infbx=||SHIFT+ALT||3||120||60 <HOTKEY=X> infbx=||НИЧЕГО||3||100||60 ;; пример запуска команд при зажатых клавишах

<HOTKEY=10> infbx=||SHIFT||3||100||60 <HOTKEY=11> infbx=||CTRL||3||100||60 <HOTKEY=12> infbx=||ALT||3||100||60 <HOTKEY=X> infbx=||НИЧЕГО||3||100||60 ;; пример запуска команд при зажатых клавишах

<IF> <info=f1%C1//> = <info=f1%C2//> <THEN> infbx=InfoBox5 <ELSE> infbx=InfoBox6 <ENDIF> ;; сравнить контрольные суммы MD5 двух выделенных файлов в разных панелях или двух выделенных файлов в активной панели в сплывающем окне и сообщить результат

<IF> <info=f1%P%N//> = <info=f1%T%M//> <THEN> infbx=InfoBox5 <ELSE> infbx=InfoBox6 <ENDIF> ;; сравнить контрольные суммы MD5 двух файлов в разных панелях, в сплывающем окне сообщить результат

<IF> <info=f1%P%N//> = <info=f1%T%M//> <THEN> infbx=InfoBox5 <ENDIF> ;; сравнить два файла в разных панелях, если контрольные суммы MD5 совпадают, то оповестить в сплывающем окне

<IF> <info=f1%P%N//> = clpget <THEN> infbx=InfoBox5 <ELSE> infbx=InfoBox6 <ENDIF> ;; сравнить контрольную сумму MD5 файла с контрольной суммой из буфера обмена, сообщить результат в сплывающем окне

<IF> <info=o9"%P"MKOFC.DLL> = 0 OR <info=o9"%P"MKOFC64.DLL> = 0 <THEN> infbx=InfoBox17 toexit <ELSE> infbx=InfoBox_TEST1 <ENDIF> ;; пример: если в активной панели нет одного из заданных файлов, то сообщение и выход из команды

<IF> <info=o9%P%N//> <> 2 OR <info=o9%T%M//> <> 2 <THEN> infbx=InfoBox7 <ENDIF> ;; проверка - выдаётся сообщение, если один из объектов не является файлом

<IF> <info=s151"%t"|B//> > <info=o300%WL|3|B//> <THEN> copys=%WL||"%t"//0 <ELSE> infbx=Ошибка||Не~~хватает~~места~~на~~целевом~~диске~~<info=o79"%t">||5||200||70 <ENDIF> ;; проверить размер выделенных объектов и размер свободного пространство целевого диска (другой панели): если меньше, то копировать выделенные объекты в другую панель, если нет - выдать сообщение

<IF> Execute(StringInStr('<info=s85AkelPad.exe>','Name.txt')) > 0 <THEN> infbx=InfoBox_TEST1 <ENDIF> ;; если в AkelPad активный документ Name.txt, то выдать сообщение

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

<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> - количество нажатий в подсказке с заданной задержкой между нажатиями

<SWITCH> [info=s32] <CASE> 1 OR 2 OR 12 <#> bufsr=##зима <CASE> 3 TO 5 <#> bufsr=##весна <CASE> 6 TO 8 <#> bufsr=##лето <CASE> 9 TO 11 <#> bufsr=##осень <ENDSWITCH> infbx=||ВРЕМЯ~~ГОДА~~В~~БУФЕРЕ||3||300||40 ;; записать в буфер обмена время года (лето)

<TIME=h00n25> <FOR> 1 <TO> 5 infbx=InfoBox10 sndps=1 <NEXT> :EXIT: ;; запустить 5 раз подряд окно с уведомлением в назначенное время (в 0 часов 25 минут)

<TIME=h03n08:h10n20:n09> infbx=InfoBox10 <TIME=h11n25:h23n06:n27> infbx=InfoBox10 ;; ежедневно с 3 часов 8 минут до 10 часов 20 минут выдавать сообщение каждые 9 минут, так же с 11 часов 25 минут по 23 часа 6 минут выдавать сообщение каждые 25 минут

<TIME=h03n08:h10n20:n09> infbx=InfoBox10 ;; ежедневно с 3 часов 8 минут до 10 часов 20 минут выдавать сообщение каждые 9 минут

<TIME=h16n02> infbx=InfoBox10 :EXIT: ;; один раз в 16 часов 2 минуты выдавать сообщение

<TIME=h16n02> infbx=InfoBox10 ;; ежедневно в 16 часов 2 минуты выдавать сообщение

<TIME=n00> infbx=InfoBox10 <TIME=X:+!d> ;; каждый час выдавать сообщение, выход по SHIFT+ALT+D

<TIME=n00> infbx=InfoBox10 ;; каждый час выдавать сообщение

<TIME=s00> infbx=InfoBox10 ;; каждую минуту выдавать сообщение

<TIME=s00> tcimg=$cm582 infbx=InfoBox10 ;; каждую минуту выдавать сообщение

<TRAY=HINT1||3||%%TCIMG_PATH%%\TCIMG.dll,5> <TIME=n00> infbx=InfoBox10 ;; каждый час выдавать сообщение, при работе отображается иконка в трее, подсказка настраивается в TCIMG_.lng в ключе TrayIconHint1)

<TRAY=HINT1||3||2> <TIME=n00> infbx=InfoBox10 ;; каждый час выдавать сообщение, при работе отображается иконка в трее, подсказка настраивается в TCIMG_.lng в ключе TrayIconHint1), иконка в TCIMG.ini в [ProcessIcon] ключ 2

<TRAY=HINT2||1||%%TCIMG_PATH%%\TCIMG.dll,38> <TIME=h00n01:h23n59:n06> exect=TraySetState(1)||TrayTip('***********Скоро~~Разминка***********','До~~начала~~разминки~~осталось~~10~~секунд'&@CRLF&'<info=s100dddd~~MMMM~~yyyy~~H:mm:ss>',5,1)||Sleep(1000) infbx=InfoBox16 sndps=D:\TCSibirnik\Files\Sound\Warmup\start.mp3||1 blist=PS<D:\Досуг\Музыка//1//-1//*.mp3|*.wma|*.wav> uends=x||##rndm<22|$GLOBALBLIST> sndps=GLOBALUENDS<1>||0 infos=3||1||GLOBALUENDS<1>||1 infht=GLOBALINFOS<28>||Приятной~~Разминки||@$f250\Files\Htm\Trec_Timer2.htm||500||40||65||840||set<FF033E|FDEE00|1,,,30,,,1>||style<2|1> sndps=D:\TCSibirnik\Files\Sound\Warmup\finish.mp3||1 ;; Вывод сообщения "Пора на разминку", проигрыш звукового файла, проигрывание случайного трека в бегущей строке, проигрыш звукового файла, закрытие и повтор цикла через 30 минут

<TRAY=HINT2||1||%%TCIMG_PATH%%\TCIMG.dll,38> <TIME=h00n01:h23n59:n30> infbx=InfoBox16 blist=PS<E:\Музыка\2\//1//-1//*.mp3|*.wma|*.wav> uends=x||##rndm<22|$GLOBALBLIST> sndps=GLOBALUENDS<1> ;; выводить строку "Пора на разминку", воспроизвести произвольный трек, и после проигрывания одного трека автозакрытие плеера, с повтором цикла через 30 минут

<TRAY=HINT2||1||%%TCIMG_PATH%%\TCIMG.dll,38> <TIME=h00n01:h23n59:n30> infbx=InfoBox16 plays=E:\Музыка\2\||exits<1> ;; выводить строку "Пора на разминку", запустить "TCMG Player" воспроизвести произвольный трек, и после проигрывания одного трека автозакрытие плеера, с повтором цикла через 30 минут

activ=1||[info=x61] sends=-1??-1||#L1||##path<0|0|5> listx=$GLOBALSENDS||2 <IF> <info=t61$GLOBALLISTX[1]> = 0 <THEN> infbx=Сообщение||Путь~~не~~существует!||3||200||40 <ELSE> pathl=GLOBALSENDS<1>||fold<> <ENDIF> ;; перейти к объекту в TC по пути из буфера обмена, при отсутствии пути выдать сообщение

alist=PS<"%p"//1//-1//modin.db> exect=$var_i='GLOBALALIST<1>'=''''?_CmdCm('infbx=Сообщени妦Файл~~''modin.db''~~в~~открытой~~папке~~не~~найден¦¦3¦¦370¦¦50<¤>toexit'):1 slist=PS<"%p"//1//-1//modin.db>||##path<10> <FOR> 1 <TO> GLOBALSLIST<0> pathb=GLOBALSLIST<:INDEX:> <NEXT> ;; открыть в новых вкладках папки активной панели в которых есть файл modin.db, в случае отсутствия файла, выдать сообщение и выйти программы

alist=PS<"%p"//1//-1//modin.db> exect=$var_i='GLOBALALIST<1>'=''''?_CmdCm('infbx=Сообщени妦Файл~~''modin.db''~~в~~открытой~~папке~~не~~найден¦¦3¦¦370¦¦50<¤>toexit'):1 slist=PS<"%p"//1//-1//modin.db>||##path<10> <FOR> 1 <TO> GLOBALSLIST<0> pathu=GLOBALSLIST<:INDEX:> <NEXT> ;; открыть в новых вкладках неактивной панели папки активной панели в которых есть файл modin.db, в случае отсутствия файла, выдать сообщение и выйти программы

alist=PS<"%p"//2//0//date> exect=$var_i='GLOBALALIST<1>'=''''?_CmdCm('infbx=Сообщени妦Папка~~''date''~~в~~активной~~панели~~не~~найденদ3¦¦370¦¦50<¤>toexit'):1 slist=PS<"%p"//1//-1//modin.db>||##path<10> <FOR> 1 <TO> GLOBALSLIST<0> pathb=GLOBALSLIST<:INDEX:> <NEXT> ;; если в активной панели есть папка "date", то открыть в новых вкладках все папки активной панели в которых есть файл modin.db (3-х секундное сообщение, если папка "date" отсутствует)

await=0 infbx=InfoBox_TEST1 ;; приостановить действие команд пока не будет изменён буфера обмена

await=0||0||&&(\d) infbx=InfoBox_TEST1 ;; приостановить действие команд пока не будет изменён буфера обмена и пока в нём не появится любая цифра

await=0||0||&&(\d)||0 infbx=InfoBox_TEST1 ;; приостановить действие команд пока не будет изменён буфера обмена и пока в нём не появится информация, в которой не будет не одной цифры

await=0||0||??words1 infbx=InfoBox_TEST1 ;; приостановить действие команд пока не будет изменён буфера обмена и пока в нём не появится русское слово более 2-х символов

await=0||0||??words1||0 infbx=InfoBox_TEST1 ;; приостановить действие команд пока не будет изменён буфера обмена и пока в нём не будет русского слова более 2-х символов

await=0||0||Name infbx=InfoBox_TEST1 ;; приостановить действие команд пока не будет изменён буфера обмена и пока в нём не появится слово "Name"

await=0||0||Name||0 infbx=InfoBox_TEST1 ;; приостановить действие команд пока не будет изменён буфера обмена и пока в нём не будет слово "Name"

await=0||5s infbx=InfoBox_TEST1 ;; приостановить действие команд на 5 секунд или пока не будет изменён буфера обмена

await=1||0||"%P" infbx=InfoBox_TEST1 ;; приостановить действие команд пока в корне текущей папке не произойдут какие-либо изменения

await=1||0||"%P"||0||0||&&(\d) infbx=InfoBox_TEST1 ;; приостановить действие команд пока в корне текущей папке не произойдёт любое изменение объекта, в котором есть цифра

await=1||0||"%P"||0||0||??words1 infbx=InfoBox_TEST1 ;; приостановить действие команд пока в корне текущей папке не произойдёт любое изменение объекта, в котором есть русское слово более 2-х символов

await=1||0||"%P"||0||0||Name infbx=InfoBox_TEST1 ;; приостановить действие команд пока в корне текущей папке не произойдёт любое изменение объекта, в котором есть слово "Name"

await=1||0||"%P"||0||0||Name||0 infbx=InfoBox_TEST1 ;; приостановить действие команд пока в корне текущей папке не произойдёт любое изменение объекта, в котором нет слова "Name"

await=1||0||"%P"||0||1 infbx=InfoBox_TEST1 ;; приостановить действие команд пока в корне текущей папке не произойдёт создания объекта

await=1||0||"%P"||0||1,4||&&^Test\.xxx$ infbx=InfoBox_TEST1 ;; приостановить действие команд пока в корне текущей папке не появится файл Test.xxx

await=1||0||"%P"||0||2 infbx=InfoBox_TEST1 ;; приостановить действие команд пока в корне текущей папке не произойдёт создания объекта

await=1||0||"%P"||0||3||&&^\Q%N\E$ infbx=InfoBox_TEST1 ;; приостановить действие команд пока файл под курсором не будет изменён (атрибуты, дата, содержимое)

await=1||0||"%P"||1 infbx=InfoBox_TEST1 ;; приостановить действие команд пока в текущей папке (с рекурсией) не произойдут какие-либо изменения

await=2||0||C:\File.ini||xxx||key infbx=InfoBox_TEST1 ;; приостановить действие команд пока в ini файле не изменится значение ключа key в секции xxx

await=2||0||C:\File.ini||xxx||key||&&(\d) infbx=InfoBox_TEST1 ;; приостановить действие команд пока в ini файле не изменится значение ключа key в секции xxx и пока в значении не появится цифра

await=2||0||C:\File.ini||xxx||key||??words2 infbx=InfoBox_TEST1 ;; приостановить действие команд пока в ini файле не изменится значение ключа key в секции xxx и пока в значении не появится более 2-х латинских символов

await=2||0||C:\File.ini||xxx||key||Name infbx=InfoBox_TEST1 ;; приостановить действие команд пока в ini файле не изменится значение ключа key в секции xxx и пока в значении не появится слово "Name"

await=3||0||"%P"||10f!!=5!!=5 infbx=InfoBox_TEST1 ;; приостановить действие команд пока в текущей папке с рекурсией не будет ровно 5 файлов и 5 подпапок (если они уже есть, то приостановки не будет)

await=3||0||"%P"||12f!!=0!!=0 infbx=InfoBox_TEST1 ;; приостановить действие команд пока текущая папка не станет пустой (если она уже пустая, то приостановки не будет)

await=3||0||"%P"||12f!!=5!!=5 infbx=InfoBox_TEST1 ;; приостановить действие команд пока в корне текущей папки не будет ровно 5 файлов и 5 подпапок (если они уже есть, то приостановки не будет)

await=30||0||11 infbx=InfoBox_TEST1 ;; приостановить действие команд пока не будет нажата клавиша CTRL

await=30||0||11,10,41 infbx=InfoBox_TEST1 ;; приостановить действие команд пока не будет нажаты клавиши CTRL+SHIFT+A

await=30||0||24 infbx=InfoBox_TEST1 ;; приостановить действие команд пока не будет нажата клавиша HOME

bends=PS<%P%N//1//0//"%O".7z> <IF> GLOBALBENDS<1> > '''' <THEN> copyy=GLOBALBENDS<1>||"%t"||upd<3> infbx=Сообщение||Файл~~скопирован~~в~~другую~~панель||3||300||80 <ENDIF> ;; в папке под курсором найти файл с именем папки под курсом и расширением 7z, если таковой есть, то скопировать его в неактивную панель и выдать сообщение: "Файл скопирован в другую панель"

bends=PS<%P%N//1//0//"%O".7z> <IF> GLOBALBENDS<1> > '''' <THEN> movee=GLOBALBENDS<1>||"%p"||upd<1> infbx=Сообщение||Файл~~перемещён~~в~~активную~~панель||3||300||80 <ENDIF> ;; в папке под курсором найти файл с именем папки под курсом и расширением 7z, если таковой есть, то переместить его в активную панель и выдать сообщение: "Файл перемещён в активную панель"

bufsr=infbx=InfoBox_TEST1 cmdcm=cliptext ;; пример запуска команд из буфера обмена через команду cmdcm

cmdcm=infbx=InfoBox_TEST1<¤>infbx=InfoBox_TEST2 ;; пример запуска заданных команд

creat="%P"||Test.xxx await=1||0||"%P"||0||2||&&^Test\.xxx$ infbx=InfoBox_TEST1 ;; приостановить действие команд пока из текущей папки не будет удалён/перемещён файл Test.xxx

downl="%p"//2||cliplist||pause<1-5>||upd<1> infbx=Закачка||Закачка~~завершена||1||200||50 ;; скачать список ссылок из буфера в активную панель +оповестить при окончании, заменять при совпадении имён

exect=$var_ext=##<info=o71%P%N//>||$var_i=StringInStr('ini|db|dll','$var_ext')?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример условия проверки расширения файла под курсором

exect=$var_h=WinGetHandle('[CLASS:#32770;REGEXPTITLE:.*\((Копирование|Переименование/перемещение)\)]')||WinWaitClose(Eval('var_h')) infbx=InfoBox2 ;; получить дескриптор окна "Копирования" или "Переименование/перемещение" Total Commander в фоновом режиме или "очереди" + дождаться закрытия окна и выдать сообщение

exect=$var_handle=WinClose('[CLASS:TTOTAL_CMD]')||WinWaitClose(Eval('var_handle')) infbx=||TC~~Закрыт||3||150||40 ;; закрытие Total Commander с ожиданием закрытия окна

exect=$var_i=##<info=v0$f253//> infbx=InfoBox18 ;; показать в диалоге версию TCIMG

exect=$var_i=(<info=o9"%P"MKOFC.DLL>=0~~OR~~<info=o9"%P"MKOFC64.DLL>=0)?MsgBox(4096,'Ошибка','Нет~~файлов')&_Exit():0 infbx=InfoBox_TEST1 ;; пример: если в активной панели нет одного из заданных файлов, то сообщение и выход из команды

exect=$var_i=<info=o9"%P"MKOFC.DLL>+<info=o9"%P"MKOFC64.DLL>=4?0:MsgBox(4096,'Ошибка','Нет~~файлов')&_Exit() infbx=InfoBox_TEST1 ;; пример: если в активной панели есть оба заданных файлов, то работа продолжается, иначе сообщение и выход из команды

exect=$var_i=FileExists('"%T"PsiPhon.f_l')?0:MsgBox(4096,'Ошибка','Нет~~файла')+_Exit() infbx=InfoBox_TEST1 ;; если в неактивной панели нет файла PsiPhon.f_l, то выдать сообщение и выход, если есть запустить следующую команду

exect=$var_i=StringInStr('|jpg|gif|png|','|%E|')?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример проверки 3-х расширений, если под курсором расширение совпадает, то выдаётся сообщение №1, если нет - сообщение №2

exect=$var_n=0||$var_i=$var_n=1?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример: если $var_n=0 , то выполняется одна команда, в ином случае другая

exect=$var_n=1||$var_i=$var_n=1?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример: если $var_n=1 , то выполняется одна команда, в ином случае другая

exect=$var_n=3||$var_i=($var_n=1~~OR~~$var_n=2~~OR~~$var_n=5)?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример проверки условий с помощью

exect=$var_n=3||$var_i=StringInStr('1|2|5',$var_n)?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример проверки условий с помощью

exect=ProcessExists('AkelPad.exe')?0:MsgBox(4096+64,'Проверка','AkelPad~~не~~запущен',3)+_Exit() infbx=InfoBox_TEST1 ;; если процесс AkelPad существует, то выполнить дальнейшие команды (если не существует, то сообщение и выход)

exect=ProcessExists('AkelPad.exe')?MsgBox(4096+64,'Проверка','AkelPad~~запущен',3)+_Exit():0 infbx=InfoBox_TEST1 ;; если процесс AkelPad не существует, то выполнить дальнейшие команды (если существует, то сообщение и выход)

exect=Run(@ScriptDir&'\TCIMG.exe~~infbx=InfoBox_TEST1') ;; пример запуска утилиты с параметрами

global await=0 infbx=InfoBox_TEST1 GLOBALAWAIT<a> ;; приостановить действие команд пока не будет изменён буфера обмена и записать новое содержимое в глобальную переменную

global start=notepad||&&procwait sends=GLOBALPROGR<1> start=notepad||&&procwait sends=GLOBALPROGR<1>??2 procw=0||$GLOBALSENDS infbx=InfoBox_TEST1 ;; запустить 2 программы notepad, ожидать завершения одного из процессов

global start=notepad||&&procwait sends=GLOBALPROGR<1> start=notepad||&&procwait sends=GLOBALPROGR<1>??2 procw=1||$GLOBALSENDS infbx=InfoBox_TEST1 ;; запустить 2 программы notepad, ожидать завершения 2-х процессов

global start=notepad||&&procwait sends=GLOBALPROGR<1> start=notepad||&&procwait sends=GLOBALPROGR<1>??2 procw=2||$GLOBALSENDS infbx=InfoBox_TEST1 ;; запустить 2 программы notepad, ожидать завершения одного из процесса и завершить остальные процессы

global watch=0 infbx=InfoBox_TEST1 watch=23||1 infbx=InfoBox_TEST2 watch=23||2 watch=20 GLOBALWATCH<a> ;; запустить секундомер, в заданном месте командной строки записать результат в глобальный массив GLOBALWATCH и вывести результат

hends=@<info=o500|clpget|List1> exect=$var_i='GLOBALHENDS<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 openf=GLOBALHENDS<1>||AkelPad ;; найти файл (имя из буфера обмена) в заданных папках и открыть в AkelPad (если файл не найден, то выдать сообщение и завершить процесс)

hends=@<info=o500|MENU.tcg|List1> exect=$var_i='GLOBALHENDS<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 openf=GLOBALHENDS<1>||AkelPad ;; найти MENU.tcg в заданных папках и открыть в AkelPad (если файл не найден, то выдать сообщение и завершить процесс)

hends=@<info=o600%P%N>??-1 listx=@GLOBALHENDS<1>||2 <IF> <info=t61$GLOBALLISTX[1]> = 0 <THEN> infbx=Сообщение||Объект~~не~~найден!||3||200||40 <ELSE> patha=GLOBALHENDS<1>||fold<> <ENDIF> ;; перейти в активной панели к реальному объекту символической ссылки под курсором, 3-х секундное сообщение в случае отсутствия реального объекта

hends=@<info=o600%P%N>??-1 listx=@GLOBALHENDS<1>||2 <IF> <info=t61$GLOBALLISTX[1]> = 0 <THEN> infbx=Сообщение||Объект~~не~~найден!||3||200||40 <ELSE> pathb=GLOBALHENDS<1>||fold<> <ENDIF> ;; перейти в активной панели в НОВОЙ вкладке к реальному объекту символической ссылки под курсором, 3-х секундное сообщение в случае отсутствия реального объекта

hends=@<info=o600%P%N>??-1 listx=@GLOBALHENDS<1>||2 <IF> <info=t61$GLOBALLISTX[1]> = 0 <THEN> infbx=Сообщение||Объект~~не~~найден!||3||200||40 <ELSE> pathu=GLOBALHENDS<1>||fold<> <ENDIF> ;; перейти в другой панели к реальному объекту символической ссылки под курсором, 3-х секундное сообщение в случае отсутствия реального объекта

imgpr=1 slist=PS<"%T"//2//0>||test<1f!!1!!0!!Del.fl> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 xlist=FOLDC<$GLOBALSLIST//0//0>||<dellist=C:\ListOfNames.txt|5> delss=$GLOBALXLIST||1 ;; в папках неактивной панели содержащих файл Del.fl удалить все объекты кроме указанных в списке имён из файла C:\ListOfNames.txt

imgpr=1 slist=PS<"%T"//2//0>||test<1f!!1!!0!!Del.fl> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 xlist=FOLDC<$GLOBALSLIST//0//0>||<dellist=C:\ListOfNames.txt|5> exect=$var_n=MsgBox(4+32+262144,'Сообщение','Удалить~~объекты?')||$var_i=$var_n=7?_Exit():1 delss=$GLOBALXLIST||1 ;; в папках неактивной панели содержащих файл Del.fl удалить все объекты кроме указанных в списке имён из файла C:\ListOfNames.txt (требуется подтверждение удаления)

infbx=InfoBox1 ;; пример вызова всплывающего окна, строка с параметрами берётся из TCIMG_.lng в ключе InfoBox1

infbx=Пример||С~~помощь~~команды~~infbx@CRLFВы~~можете~~создавать~~любые~~окна@CRLFс~~информацией@CRLF||4||300||100||0||0||22 ;; пример вызова информационного окна

infht=-1||InfoHtml0||proces<> infbx=Сообщение||Информация||60||200||60 ;; создать сообщение в другом процессе утилиты, не влияет на текущий процесс

infht=-5||InfoHtml0||proces<> infbx=Сообщение||Информация||60||200||60 ;; создать сообщение в другом процессе утилиты, при закрытии окна закрывает и текущий процесс

infos=3||1||%P%N||1 dends=<info=s105|x|30:00|GLOBALINFOS<28>> pause=GLOBALDENDS<1>||x infbx=InfoBox_TEST1 ;; получить время - разницу между 30 минутами и временем трека под курсором и запустить паузу обратного отсчёта на это время

itray=1||TCIMG.dll,49||HINT1||1 pause=10s infbx=InfoBox1 ;; пример создания значка подсказки и меню в трее

itray=1||TCIMG.dll,49||Подсказка~~к~~значку||1 pause=10s infbx=InfoBox1 ;; пример создания значка подсказки и меню в трее

macro=%%COMMANDER_PATH%%\Utils\ListCommands.txt infbx=InfoBox2 ;; запуск команд по списку с оповещением о завершении задачи

nfsis=1||Win32_Service~~WHERE~~Name=''WerSvc''||1||sname<Name> <IF> GLOBALNFSIS<0> = 2 <THEN> infbx=||Заданная~~служба~~существует||3||200||70 <ENDIF> ;; проверка имени службы "WerSvc" с выводом сообщения

pause=[combo=BOX20] infbx=InfoBox_TEST1 ;; выбор паузы в диалоге

pause=[combo=BOX20]||%%COMMANDER_PATH%%\sound.wav|3s infbx=InfoBox_TEST1 ;; выбор паузы в диалоге, обратный отчёт паузы в отдельном окне, за 3 секунды до окончания воспроизводится звук sound.wav

pause=[combo=BOX20]||2|3s infbx=InfoBox_TEST1 ;; выбор паузы в диалоге, обратный отчёт паузы в отдельном окне, за 3 секунды до окончания воспроизводится звук 2, прописанный в TCIMG.ini в секции [Sound]

pause=[combo=BOX20]||x infbx=InfoBox_TEST1 ;; выбор паузы в диалоге, обратный отчёт паузы в отдельном окне

pause=10s||x infbx=InfoBox_TEST1 ;; пример паузы обратного отсчёта

pause=8n sndps=1 pause=2n infbx=InfoBox2 ;; через 8 минут издать звук, через 2 минуты после этого выдать сообщение

priot=0 infbx=InfoBox_TEST1 ;; запустить команды с низким приоритетом

priot=1 infbx=InfoBox_TEST1 ;; запустить команды с приоритетом ниже среднего

priot=2 infbx=InfoBox_TEST1 ;; запустить команды со средним приоритетом

priot=3 infbx=InfoBox_TEST1 ;; запустить команды с приоритетом выше среднего

priot=4 infbx=InfoBox_TEST1 ;; запустить команды с высоким приоритетом

procw=1||notepad.exe|hh.exe infbx=InfoBox_TEST1 ;; ожидать закрытия процессов notepad.exe и hh.exe

radio=playlists pause=2s infbx=InfoBox_TEST1 ;; пример запуска радио и после закрытия запуск последующих команд

rstart buttn=<info=x61>||x|$v|$f infbx=InfoBox_TEST1 ;; перезапустить Total Commander, дождаться активации нового окна и продолжить работу с новым окном...

sends=@%P%N exect=$var_i3=[info=i6GLOBALSENDS<1>]>1?_Exit():0 infbx=InfoBox_TEST1 ;; пример проверки: если под курсором анимированный GIF файл, то выход

sends=>s85AkelPad.exe <IF> Execute(StringInStr('GLOBALSENDS<1>','Name.txt')) > 0 <THEN> infbx=InfoBox_TEST1 <ENDIF> ;; если в AkelPad активный документ Name.txt, то выдать сообщение

sends=-1 <SELECT> <CASE> <info=t51$GLOBALSENDS[1]|(facebook).+> = 1 <#> infbx=InfoBox_TEST1 <CASE> <info=t51$GLOBALSENDS[1]|(youtube).+> = 1 <#> infbx=InfoBox_TEST2 <ENDSELECT> ;; если в содержимом в буфера обмена есть facebook.com , то выдать сообщение №1 , если youtube.com , то сообщение №2, если ни того, ни другого, то ничего не сообщать...

sends=-1 <SELECT> <CASE> <info=t51$GLOBALSENDS[1]|(facebook).+> = 1 OR <info=t51$GLOBALSENDS[1]|(vk).+> = 1 <#> infbx=InfoBox_TEST1 <CASE> <info=t51$GLOBALSENDS[1]|(youtube).+> = 1 <#> infbx=InfoBox_TEST2 <ENDSELECT> ;; если в содержимом в буфера обмена есть facebook.com или vk.com , то выдать сообщение №1 , если youtube.com , то сообщение №2, если ни того, ни другого, то ничего не сообщать...

sends=-1??-1 infbx=Информация||Число~~строк~~в~~буфере@CRLF~~GLOBALSENDS<0>||3||200||60 ;; вывести во всплывающем окне число строк в буфере обмена

sends=PS<"%P"//1//0>??-1||?#(?m)\.flg$!!(?m)\\read\.me$!!0 <IF> GLOBALSENDS<1> = 11 <THEN> infbx=InfoBox_TEST1 <ENDIF> ;; если в активной панели есть файл flg и файл read.me получить сообщение

sends=PS<"%T"//1//0//*.bck> exect=$var_i='GLOBALSENDS<1>'=''''?MsgBox(4096,'Ошибка','Нет~~файла')+_Exit():0 infbx=InfoBox_TEST1 ;; если в неактивной панели нет файла с расширением bck, то выдать сообщение и выход, если есть запустить следующую команду

sends=x||##1 GLOBALSENDS<a> exect=$var_i=$GLOBALSENDS[1]=''''?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') ;; пример выполнения условия: если 1-я ячейка массива GLOBALSENDS пустая, то выполняется 1-я команда, если нет, то 2-я

sends=zip|rar|7z|ace|arj|cab|gz|jar|lzh|tar|xz|wim??-4 dilog=[combo=BOX36] <IF> Execute(StringInStr('|7z|zip|tar|wim|','|GLOBALCOMBO<1>|')) > 0 <THEN> infbx=||YES||3||170||60 <ELSE> infbx=||NO||3||170||60 <ENDIF> ;; выбрать в диалоге тип архива, если выбран тип 7z, zip, tar, wim - то вывести сообщение "YES", в ином случае "NO"

shape=12 dilog=[combo=BOX1][group=BOX2] <FOR> 1 <TO> 3 infbx=InfoBox_TEST1 shape=32 dilog=[dates=BOX3][dates=BOX4] <NEXT> GLOBALDATES<a> ;; пример использования shape в циклах

slist=@%P%N||test<1i!!^prog-new.*exe> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=Сообщени妦Файл~~под~~курсором~~не~~подпадает~~под~~услови妦2¦¦400¦¦50<¤>toexit'):1 copyy=GLOBALSLIST<1>||"%t"//0 beepss ;; копировать файл под курсором, если его базовое имя начинается с "prog-new." и он имеет расширение *.exe, в противном случае выдать 2-х секундное сообщение

slist=FOLDC<%WL//1//2> infbx=InfoBox4 ;; подсчёт подпапок в 1-м уровне выделенных папок и вывод отчёта

slist=PS<"%p"//1//0//prog-new.*.exe|prog-next.*.exe> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=Сообщени妦Файлов~~с~~такими~~именами~~в~~АП~~не~~найден2¦¦370¦¦50<¤>toexit'):1 copyy=%P%N||"%t"//0 beepss ;; копировать файл под курсором в другую панель, если в активной панели есть файлы *.exe имена которых начинаются с "prog-new." или "prog-next.", в противном случае выдать 2-х секундное сообщение

slist=PS<"%p"//1//0//prog-new.*.exe> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=Сообщени妦Файлов~~с~~такими~~именами~~в~~АП~~не~~найден2¦¦370¦¦50<¤>toexit'):1 copys=$GLOBALSLIST||"%t"//0 beepss ;; копировать в другую панель все файлы *.exe активной панели чьи базовые имена начинаются с "prog-new.", в случае отсутствия подобных файлов выдать 2-х секундное сообщение

slist=PS<"%p"//1//0//prog-new.*.exe> xlist=PS<"%p"//1//0//prog-next.*.exe> exect=$var_i='GLOBALSLIST<1>'~~AND~~'GLOBALXLIST<1>'=''''?_CmdCm('infbx=Сообщени妦Файлов~~с~~такими~~именами~~в~~АП~~не~~найден2¦¦370¦¦50<¤>toexit'):1 copyy=%P%N||"%t"//0 beepss ;; копировать файл под курсором в другую панель, если в активной панели есть файлы *.exe имена которых начинаются с "prog-new." и "prog-next.", в противном случае выдать 2-х секундное сообщение

slist=PS<"%T"//2//0>||test<1f!!1!!0!!Info.txt> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 copys=%WL||x//1||allfold<GLOBALSLIST<t>> beepss ;; копировать выделенные объекты активной панели (с перезаписью) в папки неактивной панели содержащих файл Info.txt

slist=PS<"%T"//2//-1>||test<1f!!1!!0!!Doc.rtf> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 copys=%WL||x//1||allfold<GLOBALSLIST<t>> beepss ;; копировать выделенные файлы в папки неактивной панели(с рекурсией) содержащих файл Doc.rtf

slist=PS<[tc=TP]//2//-1>||test<1f!!1!!0!!Doc.rtf> exect=$var_i='GLOBALSLIST<1>'=''''?_CmdCm('infbx=InfoBox17<¤>toexit'):1 copys=%WL||x//1||allfold<GLOBALSLIST<t>> ;; копировать выделенные файлы в папки неактивной панели(с рекурсией) содержащих файл Doc.rtf

start=Imagine||/copy||%P%N||&&wait infbx=||Изображение~~в~~буфере~~обмена||1||300||50 ;; записать в буфер обмена изображение под курсором для вставки его в графические программы

tcimg=$cm2400 infbx=InfoBox_TEST1 ;; запустить команду группового переименования, не дожидаться закрытия окна, вывести сообщение

tcimg=$w1~~$cm2400 infbx=InfoBox_TEST1 ;; запустить команду группового переименования, ожидать закрытия окна, затем вывести сообщение

tcprm=SYNCOPEN~~WORD buttn=TCmpForm||x|$w|$e infbx=InfoBox_TEST1 ;; запустить шаблон синхронизации, ожидать появление окна и его исчезновения, далее запустить другие команды...

watch=0 infbx=InfoBox_TEST1 watch=20 infbx=InfoBox_TEST2 ;; запустить секундомер, в заданном месте командной строки выключить

watch=0 infbx=InfoBox_TEST1 watch=21 infbx=InfoBox_TEST2 ;; запустить секундомер, в заданном месте командной строки выключить и записать результат в буфер обмена

watch=0 infbx=InfoBox_TEST1 watch=22 infbx=InfoBox_TEST2 ;; запустить секундомер, в заданном месте командной строки записать результат в буфер обмена

watch=2 infbx=InfoBox_TEST1 watch=22 infbx=InfoBox_TEST2 watch=22 ;; запустить секундомер, в заданном месте командной строки записать результат в буфер обмена, после завершении команд выключить и записать результат в буфер обмена


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