Вы можете задать любой вопрос по программе Autohotkey в нашей группе Вконтакте. Если решение требует более высокой квалификации- можно обратиться непосредственно ко мне.
Группа Вконтакте | Электронная почта | Симаков Яков ВК |
Извлекает содержимое указанного раздела реестра, считывая его элементы по очереди.
RootKey | Имя корневого раздела. Возможные значения: HKEY_LOCAL_MACHINE (или HKLM), HKEY_USERS (или HKU), HKEY_CURRENT_USER (или HKCU), HKEY_CLASSES_ROOT (или HKCR), HKEY_CURRENT_CONFIG (или HKCC). Для доступа к удалённому реестру укажите вначале имя компьютера с двоеточием на конце, как в этом примере: \\workstation01:HKEY_LOCAL_MACHINE |
Key | Имя раздела (например, Software\SomeApplication). Если опущено или пустое, будет считано содержимое корневого раздела. |
IncludeSubkeys? | 0 (по умолчанию) Подразделы указанного раздела не читаются (только параметры). 1 Читаются все параметры и подразделы. 2 Читаются только подразделы (не параметры). |
Recurse? | 0 (по умолчанию) Рекурсия в подразделы не выполняется. 1 Рекурсия выполняется, извлекаются все параметры и подразделы внутри данных подразделов. |
Реестровый цикл полезен, когда вы хотите работать с множеством параметров или разделов, обрабатывая их по очереди. Параметры и разделы извлекаются в обратном порядке (снизу вверх), чтобы можно было использовать RegDelete внутри цикла, не нарушая его работы.
Нижеследующие переменные существуют в любом реестровом цикле. Если внутри такого цикла есть другой реестровый цикл, переменные внутреннего цикла будут иметь преимущество.
A_LoopRegName | Имя текущего считанного элемента, которое может быть либо именем параметра, либо именем подраздела. Параметры, которые в редакторе реестра Windows (regedit.exe) показываются как "(По умолчанию)", читаются, если им присвоено какое-то значение, но A_LoopRegName будет для них пустой. |
A_LoopRegType | Тип текущего считанного элемента. Может быть одним из следующих слов: KEY (раздел), REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_DWORD, REG_QWORD, REG_BINARY, REG_LINK, REG_RESOURCE_LIST, REG_FULL_RESOURCE_DESCRIPTOR, REG_RESOURCE_REQUIREMENTS_LIST, REG_DWORD_BIG_ENDIAN (вероятно, редкость на большинстве компьютеров с Windows). Если тип неизвестен, переменная будет пустой. |
A_LoopRegKey | Имя корневого раздела, куда осуществляется доступ (HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG). При доступе к удалённому реестру имя компьютера сюда не включается. |
A_LoopRegSubKey | Имя текущего подраздела. Совпадает со значением параметра Key, если в параметре Recurse не было задано рекурсивное чтение подразделов. В последнем случае в переменной будет полный путь к считанному элементу, не включающий имя корневого раздела. Например: Software\SomeApplication\My SubKey |
A_LoopRegTimeModified | Время последнего изменения текущего подраздела или любого из его параметров. Формат: YYYYMMDDHH24MISS. Эта переменная пуста, если текущий считанный элемент не является разделом (т.е. A_LoopRegType не равна KEY) или если операционная система - Win9x (т.к. Win9x не отслеживает эту информацию). |
При использовании внутри реестрового цикла нижеследующие команды могут применяться в упрощённом варианте, чтобы показать, что действие должно совершаться над текущим элементом.
RegRead, OutputVar | Читает текущий элемент. Если это раздел, ErrorLevel будет установлен в 1, и OutputVar будет пустой. |
RegWrite [, Value] | Пишет в текущий элемент. Если значение для Value не задано, в текущий параметр реестра будет записан 0 или пустая строка, в зависимости от типа параметра. Если текущий элемент - раздел, ErrorLevel устанавливается в 1 и больше ничего не делается. |
RegDelete | Удаляет текущий элемент. Если это раздел, он удаляется вместе со всеми подразделами и параметрами внутри него. |
Осуществляя доступ к удалённому реестру (через параметр RootKey, описанный выше), имейте в виду следующее.
Смотрите описание команды Loop относительно блоков кода, команд Break, Continue и переменной A_Index (которая существует во всех типах циклов).