Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь можно обсудить эту статью, а также саму программу AutoHotkey и проблемы её использования)

Проект перевода документации AutoHotkey: перечень переведённых статей и статей в работе.

Оригинал статьи в AutoHotkey.chm: "RegRead", в содержании - "Registry Management" - "RegRead", v1.0.46.09.

Ник переводчика: YMP.

Настоящее имя переводчика: Юрий Попов.

RegRead

Читает параметр из реестра.

RegRead, OutputVar, RootKey, SubKey [, ValueName]

Параметры

OutputVar Имя переменной, куда будет помещено считанное значение. Если значение не может быть считано, переменная будет пустой и ErrorLevel будет установлен в 1.
RootKey Имя корневого раздела. Возможные значения: HKEY_LOCAL_MACHINE (или HKLM), HKEY_USERS (или HKU), HKEY_CURRENT_USER (или HKCU), HKEY_CLASSES_ROOT (или HKCR), HKEY_CURRENT_CONFIG (или HKCC).

Для доступа к удалённому реестру укажите вначале имя компьютера с двоеточием на конце, как в этом примере: \\workstation01:HKEY_LOCAL_MACHINE
SubKey Имя подраздела (например, Software\SomeApplication).
ValueName Имя параметра, чьё значение нужно прочитать. Если опущен или пустой, будет считан параметр, который в редакторе реестра отображается под именем "(По умолчанию)". Если ему не присвоено никакого значения, выходная переменная будет пустой и ErrorLevel равен 1.

ErrorLevel

Равен 1, если возникли проблемы, иначе 0.

Примечания

В настоящее время поддерживаются только следующие типы параметров: REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_DWORD, REG_BINARY.

Параметры REG_DWORD всегда выражаются в виде положительных десятичных чисел.

Из параметров типа REG_BINARY может быть считано не более 64 Кб данных, остальные не имеют таких ограничений. Однако в Windows 95/98/ME этот предел действует для всех типов параметров, т.к. реестр этих операционных систем не может хранить значения бОльших размеров.

При чтении REG_BINARY результатом будет строка шестнадцатеричных цифр. Например: REG_BINARY со значением 01,a9,ff,77 будет считан как 01A9FF77.

При чтении REG_MULTI_SZ все его компоненты оканчиваются переводом строки (`n). Если компонентов нет, выходная переменная будет пустой. Смотрите в описании команды FileSelectFile пример извлечения компонентов из выходной переменной. Замечание: Windows 95 не поддерживает параметры REG_MULTI_SZ.

Для работы сразу с множеством разделов или параметров используйте реестровый цикл, который описан в статье "Loop (registry)".

Подробности о работе с реестром удалённого компьютера смотрите в примечаниях в той же статье.

Примеры

RegRead, OutputVar, HKEY_LOCAL_MACHINE, SOFTWARE\Microsoft\Windows\CurrentVersion, ProgramFilesDir
MsgBox, Файлы программ находятся в %OutputVar%

; Следующий пример определяет тип параметра (например, REG_SZ или REG_DWORD).
MsgBox % RegKeyType("HKCU", "Environment", "TEMP")
return

RegKeyType(RootKey, SubKey, ValueName) ; Эта функция возвращает тип указанного параметра.
{
    Loop, %RootKey%, %SubKey%
        if (A_LoopRegName = ValueName)
            return A_LoopRegType
    return "Ошибка"
}

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.