Описание ключевого слова


Null

Ключевое слово, используемое при вызове функций.

   Null

Примечания

Используется для запуска конкретных операций функций Autoit, которые принимают его в качестве параметра:
  • Используется только в параметрах функции, не используется в тернарных условиях при сравнении.
  • Для математических действий Null имеет значение 0.
  • Для строковых операций Null является пустой строкой.
  • Для wstr и str типов в функции DllCall() будет установлен в NULL (указатель).

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

; С учётом синтаксиса TCIMG вместо пустой строки приходится вставлять 4 апострофа ''''
StringRegExpReplace('test~~del~~char~~b~~abcdabcd','[bc]','''')

; Если в каких-то случаях возникнут проблемы из-за пересечения одинарных и двойных кавычек, то можно воспользоваться Null
; В большинстве случаев 4 апострофа '''' вместо пустой строки работают.
StringRegExpReplace('test~~del~~char~~b~~abcdabcd','[bc]',Null)

См. также

Default

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


exect=$var_s=##[input=BOX72]||$var_ap=_ArrayPermute(StringSplit('$var_s',Null,2))||_ViewValues($var_ap) ;; анаграмма введённого слова в диалоге в виде массива. (В анаграмму входят слова, с перестановкой всех букв заданного слова без повторов букв и точной длины)
exect=$var_s=##[input=BOX72]||$var_ap=_ArrayPermute(StringSplit('$var_s',Null,2))||_ViewValues($var_ap)||$var_ss=_ArrayToString($var_ap,@CRLF,1)||_ViewValues('$var_ss ')||FileWrite('c:\Test\anagam.txt','$var_ss') ;; создание анаграммы в введённого слова в диалоге, просмотр результата на каждом этапе и сохранение в файл anagam.txt (В анаграмму входят слова, с перестановкой всех букв заданного слова без повторов букв и точной длины)
exect=$var_s=##[input=BOX72]||FileWrite('c:\Test\anagam.txt',_ArrayToString(_ArrayPermute(StringSplit('$var_s',Null,2)),@CRLF,1)) ;; создание анаграммы в введённого слова в диалоге и сохранение в файл anagam.txt

exect=$var_s=##[input=BOX72]||FileWrite('c:\Test\anagam_'&'$var_s'&'.txt',_ArrayToString(_ArrayPermute(StringSplit('$var_s',Null,2)),@CRLF,1)) ;; создание анаграммы в введённого слова в диалоге и сохранение в файл anagam_слово.txt

exect=ControlSend('Безымянный~~~~Блокнот',Null,'Edit1','привет') ;; вставляет текст "привет" в окно "Блокнота" (он должен быть запущен, может быть свёрнут)

exect=$var_h=WinActivate('Безымянный~~~~Блокнот')||ControlSend(Eval('var_h'),Null,'[CLASS:Edit;INSTANCE:1]','Это~~некоторый~~текст') ;; активирует окно "Блокнота" и вставляет заданный текст (он должен быть запущен)

exect=ControlClick('Калькулятор',Null,'[ID:139]') ;; эмулировать нажатие мыши на указанном элементе запущенного калькулятора (на Win10 не работает)

exect=Run('calc')||Sleep(1000)||ControlClick('Калькулятор',Null,'[ID:139]') ;; запустить калькулятор и эмулировать нажатие мыши на указанном элементе (на Win10 не работает)

exect=ControlCommand('Безымянный~~~~Блокнот',Null,'Edit1','EditPaste','Это~~пример~~вставки~~текста'&@CRLF&~~переносом~~на~~новую~~строку') ;; пример вставки текста в "Блокнот" (он должен быть запущен)

exect=ControlDisable('[CLASS:TTOTAL_CMD]',Null,'TButtonBar1')||Sleep(2000)||ControlEnable('[CLASS:TTOTAL_CMD]',Null,'TButtonBar1') ;; на 2 секунды отключить панель инструментов Total Commander

exect=ControlHide('[CLASS:TTOTAL_CMD]',Null,'TButtonBar1')||Sleep(2000)||ControlShow('[CLASS:TTOTAL_CMD]',Null,'TButtonBar1') ;; на 2 секунды скрыть панель инструментов Total Commander

tcimg=$cm498 pause=200 exect=ControlFocus('[CLASS:TBUTTONCHANGEDLG]',Null,'TAltEdit1') ;; вызвать панель инструментов и установить фокус в поле "Подсказка" (TC x32)

tcimg=$cm498 pause=500 exect=$var_array=ControlGetPos('[CLASS:TBUTTONCHANGEDLG]',Null,'TListBox2')||_ViewValues($var_array) ;; вызвать панель инструментов и получить массив координат заданного элемента (TC x32)

tcimg=$cm498 pause=500 exect=$var_stxt=ControlGetText('[CLASS:TBUTTONCHANGEDLG]',Null,'TMyPanel1')||_ViewValues('$var_stxt') ;; вызвать панель инструментов и получить текст заданного элемента (TC x32)

exect=ControlListView('[CLASS:My]',Null,'SysListView321','SelectAll') ;; выделить все пункты заданного ListView

exect=ControlMove('[CLASS:TTOTAL_CMD]',Null,'TButtonBar1',10,10)||Sleep(2000)||ControlMove('[CLASS:TTOTAL_CMD]',Null,'TButtonBar1',0,2) ;; на 2 секунды переместить панель инструментов (TC x32)

tcimg=$cm498 pause=500 exect=ControlSend('[CLASS:TBUTTONCHANGEDLG]',Null,'TAltEdit1','+{INSERT}',0) ;; вызвать панель инструментов и ввести текст из буфера обмена в поле "Подсказка" (TC x32)

exect=ControlSetText('[CLASS:Notepad]',Null,'Edit1','Новый~~текст~~уставленный~~в~~элемент~~Edit') ;; заменить текст на заданный в "Блокноте" (он должен быть запущен)

exect=ControlTreeView('[CLASS:My]',Null,'TreeView32','Uncheck','4') ;; Снять галочку с заданного пункта TreeView32

exect=WinMenuSelectItem('[CLASS:TTOTAL_CMD]',Null,'&Файлы','Зап&уск~~файлов~~и~~программ','Запуск~~прогр&аммы~~от~~имени...') ;; вызвать заданный пункт меню Total Commander

exect=$var_h=WinGetHandle('[CLASS:TTOTAL_CMD]')||$var_a=WinGetPos(Eval('var_h'))||WinMove(Eval('var_h'),Null,10,10,200,300,20)||Sleep(3000)||WinMove(Eval('var_h'),Null,$var_a[0],$var_a[1],$var_a[2],$var_a[3],20) ;; переместить окно Total Commander, через 3 секунды вернуть окно обратно

exect=$var_h=WinGetHandle('[CLASS:TTOTAL_CMD]')||WinSetOnTop(Eval('var_h'),Null,1)||Sleep(3000)||WinSetOnTop(Eval('var_h'),Null,0) ;; включить на 3 секунды состояние окна "поверх всех окон" Total Commander

exect=$var_h=WinGetHandle('[CLASS:TTOTAL_CMD]')||WinSetState(Eval('var_h'),Null,@SW_HIDE)||Sleep(3000)||WinSetState(Eval('var_h'),Null,@SW_SHOW) ;; на 3 секунды скрыть окно Total Commander

exect=WinSetTitle('[CLASS:TTOTAL_CMD]',Null,'НОВЫЙ~~ЗАГОЛОВОК') ;; установить окну Total Commander текст заголовка

exect=$var_h=WinGetHandle('[CLASS:TTOTAL_CMD]')||WinSetTrans(Eval('var_h'),Null,192)||Sleep(3000)||WinSetTrans(Eval('var_h'),Null,255) ;; на 3 секунды сделать окно Total Commander прозрачным на 25%

exect=Run('notepad.exe')||$var_h=WinWaitActive('[CLASS:Notepad]')||ControlSend(Eval('var_h'),Null,'Edit1','привет') ;; запустить "Блокнот", дождаться активизации и ввести слово "привет"

exect=Run('notepad.exe')||$var_h=WinWaitActive('[CLASS:Notepad]')||ControlSend(Eval('var_h'),Null,'Edit1','закройте~~окно')||WinWaitClose(Eval('var_h'))||MsgBox(4096,Null,'окно~~закрыто') ;; запустить "Блокнот", дождаться закрытие окна пользователем

exect=Run('notepad.exe')||$var_h=WinWaitActive('[CLASS:Notepad]')||ControlSend(Eval('var_h'),Null,'Edit1','сверните~~окно')||WinWaitNotActive(Eval('var_h'))||MsgBox(4096,Null,'окно~~не~~активно') ;; запустить "Блокнот", дождаться когда окно не будет активным

exect=ProcessWait('notepad.exe',3)||MsgBox(4096,Null,'процесс~~существует') ;; ожидает запуска "Блокнота"

exect=$var_ipid=Run('notepad.exe')||ProcessWaitClose($var_ipid)||MsgBox(4096,Null,'процесс~~завершился') ;; запускает "Блокнот" и ожидает его закрытия

exect=RunWait('notepad.exe')||MsgBox(4096,Null,'программа~~закрыта') ;; запускает "Блокнот" и приостанавливает работу утилиты до его закрытия

exect=RunAs('Username',@ComputerName,'Password',0,'notepad.exe',Null,@SW_SHOWMAXIMIZED) ;; запускает "Блокнот" развёрнутым на весь экран от имени указанного выше пользователя

exect=RunAsWait('Username',@ComputerName,'Password',0,'notepad.exe',Null,@SW_SHOWMAXIMIZED) ;; запускает "Блокнот" развёрнутым на весь экран от имени указанного выше пользователя и приостанавливает работу утилиты до его закрытия

exect=ShellExecute('C:\Test\Name.txt',Null,Null,'edit') ;; открыть .txt файл в ассоциированном по умолчанию редакторе

exect=ShellExecute('%P%N',Null,Null,'edit') ;; открыть файл под курсором в ассоциированном по умолчанию редакторе

exect=Run('notepad.exe')||$var_h=WinWait('[CLASS:Notepad]',Null,5)||WinSetState(HWnd($var_h),Null,@SW_MINIMIZE) ;; запускает "Блокнот", ожидает появление и сворачивает

exect=$var_a=StringSplit('%%COMMANDER_PATH%%\Bar\000_TCIMG_Test.bar|%%COMMANDER_PATH%%\Bar\084_AU3.bar|%%COMMANDER_PATH%%\Bar\000_TCIMG_Test_Exe.bar','|')||$var_si=EnvGet('COMMANDER_PATH')&'\WinButtonBar.ini'||$var_sb=IniRead('$var_si','Buttonbar','Buttonbar',Null)||$var_i=Number(_ArraySearch($var_a,'$var_sb')+1)||$var_i=($var_i>3~~Or~~$var_i=0)?1:$var_i||IniWrite('$var_si','Buttonbar','Buttonbar','$var_a[$var_i]')||IniWrite('$var_si','Buttonbar','Buttonbar',Execute('$var_a[$var_i]')) ;; записать один из 3-х заданных путей .bar по кругу в WinButtonBar.ini в секцию [Buttonbar]

exect=Run('notepad.exe')||$var_h=WinWait('[CLASS:Notepad]',Null,5)||SendKeepActive(HWnd($var_h)) <FOR> 1 <TO> 10 exect=Send('привет')||Sleep(500) <NEXT> exect=SendKeepActive(Null)||WinClose(HWnd($var_h)) ;; запустить "Блокнот" и удерживать окно блокнота активным при использовании функции Send()

exect=Run('notepad.exe')||$var_h=WinWait('[CLASS:Notepad]',Null,5)||IsHWnd(Eval('var_h'))?_ViewValues('Это~~дескриптор~~HWND'):_ViewValues('Это~~НЕ~~дескриптор~~HWND') ;; запустить "Блокнот" и проверить дескриптор окна на валидность

exect=$var_a=StringSplit(StringReplace('??%%COMMANDER_PATH%%\TCIMG.exe?~~?openup??|??%%COMMANDER_PATH%%\Utilities\TotalCom\ChoiceEditor\ChoiceEditor.exe??','?',Chr(34)),'|')||$var_sc=EnvGet('COMMANDER_INI')||$var_sp=IniRead('$var_sc','Configuration','Editor',Null)||$var_is=StringInStr('$var_sp','TCIMG')?2:1||IniWrite('$var_sc','Configuration','Editor',$var_a[$var_is]) rstart ;; переключение программы просмотра по F4 с перезагрузкой

exect=ControlCommand('[CLASS:AkelPad4]',Null,'AkelEditW1','EditPaste','привет') ;; вставить слово "привет" в AkelPad

exect=$var_i=ControlCommand('[CLASS:AkelPad4]',Null,'AkelEditW1','GetCurrentLine',Null)||_ViewValues($var_i) ;; вставить слово "привет" в AkelPad

start=%%COMMANDER_PATH%%\PK\PK.exe exect=$var_h=WinWaitActive('[CLASS:ThunderRT6FormDC]')||ControlSetText(Eval('var_h'),Null,'ThunderRT6TextBox1','пароль') ;; запуск программы, ожидание открытия окна и ввод текста "пароль" в заданное поле

start=%%COMMANDER_PATH%%\PK\PK.exe exect=$var_h=WinWaitActive('[CLASS:ThunderRT6FormDC]')||ControlSetText(Eval('var_h'),Null,'ThunderRT6TextBox1','пароль')||ControlClick(Eval('var_h'),Null,'ThunderRT6CommandButton3') ;; запуск программы, ожидание открытия окна и ввод текста "пароль" в заданное поле и нажатие на кнопку OK

infos=2||9||notepad.exe||1 <FOR> 1 <TO> GLOBALINFOS1<0> exect=WinSetState(HWnd('GLOBALINFOS1<:INDEX:>'),Null,@SW_MINIMIZE) <NEXT> ;; свернуть окна с заданным именем процесса notepad.exe

infos=2||9||notepad.exe||1 <FOR> 1 <TO> GLOBALINFOS1<0> exect=WinSetState(HWnd('GLOBALINFOS1<:INDEX:>'),Null,@SW_RESTORE) <NEXT> ;; восстановить свёрнутые или развёрнутые окна с заданным именем процесса notepad.exe

infos=2||9||TCIMG.exe||textv=x||1 <FOR> 1 <TO> GLOBALINFOS1<0> exect=WinSetState(HWnd('GLOBALINFOS1<:INDEX:>'),Null,@SW_MINIMIZE) <NEXT> ;; свернуть окна просмотрщика буфера обмена (команда textv)

infos=2||9||TCIMG.exe||textv=x||1 <FOR> 1 <TO> GLOBALINFOS1<0> exect=WinSetState(HWnd('GLOBALINFOS1<:INDEX:>'),Null,@SW_RESTORE) <NEXT> ;; развернуть свернутые окна просмотрщика буфера обмена (команда textv)

exect=$var_a=StringSplit(ClipGet(),Null,2)||_ViewValues($var_a) ;; пример разбития содержимого буфера обмена посимвольно

exect=$var_a=StringSplit(ClipGet(),Null,2)||$var_a=_ArrayUnique($var_a)||_ViewValues($var_a) ;; пример разбития содержимого буфера обмена посимвольно и удаления дубликатов

exect=$var_a=StringSplit(ClipGet(),Null,2)||$var_a=_ArrayUnique($var_a) asave=var_a||"%pListSym.txt"||upd<1>||all|| ;; записать в файл ListSym.txt в активную панель уникальные символы из содержимого буфера обмена

exect=$var_a=StringSplit(FileRead('%P%N'),Null,2)||$var_a=_ArrayUnique($var_a) asave=var_a||"%P%O_sym.%E"||upd<1>||all|| ;; записать в именной файл с приставкой _sym уникальные символы содержимого файла под курсором

exect=$var_s=FileRead('%P%N')||$var_s=StringReplace('$var_s',@CRLF,Null)||$var_s=StringReplace('$var_s','~~',Null)||$var_a=StringSplit('$var_s',Null,2)||$var_a=_ArrayUnique($var_a)||_ArraySort($var_a,0,1) asave=var_a||"%P%O_sym.%E"||upd<1>||all||||code<1> ;; записать в именной файл с приставкой _sym уникальные символы содержимого файла под курсором в кодировке UTF-16 LE 1200, предварительно удалив переносы строк и пробелы

exect=WinSetState('[CLASS:TfrmTabber.UnicodeClass]',Null,@SW_HIDE) ;; скрыть окно заданного класса

exect=WinSetState('[CLASS:TfrmTabber.UnicodeClass]',Null,@SW_SHOW) ;; показать ранее скрытое окно заданного класса

exect=$var_h=ControlGetHandle('[CLASS:AkelPad4]',Null,'AkelEditW1') scren="%p"//1||$fname||sclas<$var_h> ;; создать в текущей панели скриншот экрана в jpg именем даты окна редактирования AkelPad

exect=WinSetOnTop('[CLASS:Shell_TrayWnd]',Null,1) ;; установить атрибут "Поверх Всех окон" для панели задач

exect=WinSetOnTop('[CLASS:Shell_TrayWnd]',Null,0) ;; снять атрибут "Поверх Всех окон" для панели задач

exect=WinSetTrans('[CLASS:Shell_TrayWnd]',Null,128) ;; установить прозрачность 50% для панели задач

exect=$var_s1=StringRegExpReplace('test~~del~~char~~b~~abcdabcd','[b]',Null) GLOBALEXECT<a> ;; удалить символ "b" из строки

exect=DllCall('shell32.dll','long','SHEmptyRecycleBinW','hwnd',0,'wstr',Null,'dword',0) ;; пример вызова диалога очистки корзины

exect=$var_s=String(ControlGetText('[CLASS:AkelPad4]',Null,'AkelEditW1'))||_ViewValues($var_s) ;; получить текст с элемента окна AkelPad (текст текущего документа)

exect=$var_s=ControlGetText('[CLASS:AkelPad4]',Null,'AkelEditW1') GLOBALEXECT<a> ;; получить текст с элемента окна AkelPad (текст текущего документа)

exect=MsgBox(4096+64,Null,'Hello') ;; пример сообщения без названия заголовка

exect=DllCall('user32.dll','int','MessageBoxW','hwnd',0,'wstr','ERROR','wstr',Null,'dword',4096) ;; пример сообщения с ошибкой

exect=$var_result=MsgBox(4096+64+1,Null,'Hello',0,WinGetHandle('[CLASS:TTOTAL_CMD]'))||_ViewValues($var_result) ;; пример диалога с блокировкой окна (предотвращает доступ к указанному родительскому окну, пока существует MsgBox)

exect=$var_result=MsgBox(16384+4096+64+1,Null,'Hello',0,WinGetHandle('[CLASS:AkelPad4]'))||_ViewValues($var_result) ;; пример диалога с блокировкой окна (предотвращает доступ к указанному родительскому окну, пока существует MsgBox)

exect=TraySetState(1)||TrayTip(Null,'---------------------------'&@CRLF&'%P%N'&@CRLF&'<info=o44%P%N//>',5,1)||Sleep(5000) ;; создать всплывающую подсказку на 5 секунд в трее с информацией: Путь объекта под курсором и его даты создания (без заголовка)

exect=StringFormat('%%o~~%%09d~~%%d',64,Null,0x100) GLOBALEXECT<a> ;; возвращает строку заданную форматированием

exect=SplashTextOn('Заголовок','Дата:~~'&StringFormat('%%04d.%%02d.%%02d~~%%02d:%%02d:%%02d',@YEAR,@MON,@MDAY,@HOUR,@MIN,@SEC),300,200,-1,5,0,Null,38,700)+Sleep(3000)+SplashOff() ;; пример окна с датой

exect=IniWrite(EnvGet('COMMANDER_INI'),'WWW','Key',Null) ;; записать в файл Wincmd.ini в секцию [WWW] ключ Key без значения

exect=FileSetTime('C:\Test.txt',Null) ;; установить файлу Test.txt текущую дату изменения

exect=$var_s=FileSelectFolder('Выберите~~каталог.',Null,1) ;; диалог выбора папки

exect=$var_s=FileSelectFolder('Выберите~~каталог.','"%P"',1,Null,WinGetHandle('[CLASS:TTOTAL_CMD]')) ;; диалог выбора папки с блокировкой окна (предотвращает доступ к указанному родительскому окну, пока существует диалог)

exect=$var_s=FileSaveDialog('Выберите~~файл.',Null,'(*.*)',2) ;; диалог выбора и сохранения файла

exect=$var_s=FileSaveDialog('Выберите~~файл.','"%P"','(*.*)',2,Null,WinGetHandle('[CLASS:TTOTAL_CMD]')) ;; диалог выбора сохранения файла с блокировкой окна (предотвращает доступ к указанному родительскому окну, пока существует диалог)

exect=$var_s=FileOpenDialog('Выберите~~файл.',Null,'(*.*)',2) ;; диалог открытия файла

exect=$var_s=FileOpenDialog('Выберите~~файл.','"%P"','(*.*)',2,Null,WinGetHandle('[CLASS:TTOTAL_CMD]')) ;; диалог открытия файла с блокировкой окна (предотвращает доступ к указанному родительскому окну, пока существует диалог)

yends=1a2b3c,5a6v7hs??-6, GLOBALYENDS<a> slist=$GLOBALYENDS||?V|$$|'='&StringRegExpReplace('::','\d',Null) GLOBALSLIST<a> ;; получить символы заданных строк

yends=1a2b3c,5a6v7hs??-6, GLOBALYENDS<a> slist=$GLOBALYENDS||?V|$$|'='&StringLen(StringRegExpReplace('::','\d',Null)) GLOBALSLIST<a> ;; получить количество символов заданных строк

sends=<info=n200|123456789|Null>??-4 GLOBALSENDS<a> ;; получить все строки из символов, обрезая с конца

sends=<info=n200|123456789|Null|1>??-4 GLOBALSENDS<a> ;; получить все строки из символов, обрезая с начала

sends=<info=n200|ABCDEFGHIJKLMNOPQRSTUVWXYZ|Null>??-4 GLOBALSENDS<a> ;; получить все строки из символов, обрезая с конца

sends=<info=n200|ABCDEFGHIJKLMNOPQRSTUVWXYZ|Null|1>??-4 GLOBALSENDS<a> ;; получить все строки из символов, обрезая с начала

exect=$var_hwhd=WinGetHandle('[CLASS:Progman;TITLE:Program~~Manager]')||$var_hcnt=ControlGetHandle(HWnd($var_hwhd),Null,'[CLASS:SysListView32;INSTANCE:1]')||ControlHide(HWnd($var_hwhd),Null,HWnd($var_hcnt))||Sleep(2000)||ControlShow(HWnd($var_hwhd),Null,HWnd($var_hcnt)) ;; скрыть на 2 секунды значки рабочего стола (Windows 7,10)

sends=>n197|приветт|0|0|Null|#??-1 GLOBALSENDS<a> ;; получить анаграммы строки "приветт", вставив между символами "#"

exect=Execute(_StringDuplication('Random(0,9,1)&',100)&'Null') GLOBALEXECT<a> ;; получить строку случайных цифр, длина строки 100

exect=$var_sbar=ControlGetText('[CLASS:TTOTAL_CMD]',Null,'TButtonBar2')||_ViewValues('$var_sbar') ;; получить имя основной панели инструментов BAR (если включена вертикальная)

exect=$var_sbar=ControlGetText('[CLASS:TTOTAL_CMD]',Null,'TButtonBar1')||_ViewValues('$var_sbar') ;; получить имя панели инструментов BAR (если включена имя вертикальной, иначе основной)

exect=_ViewValues(ControlGetText('[CLASS:TTOTAL_CMD]',Null,'TButtonBar2')) ;; получить имя основной панели инструментов BAR (если включена вертикальная)

exect=_ViewValues(ControlGetText('[CLASS:TTOTAL_CMD]',Null,'TButtonBar1')) ;; получить имя панели инструментов BAR (если включена имя вертикальной, иначе основной)

exect=$var_i=(StringInStr(FileGetAttrib('%P%N'),'D')~~AND~~FileExists('%P%N'))?'~~/D':Null cmdbt=cmd~~/c~~mklink$var_i~~''%T%N''~~''%P%N''||0 tcimg=$cm4006|540 ;; для объекта под курсором создать именную символическую ссылку в другой панели
















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