Spec-Zone.ru › Tcl/Tk

реестр

ИМЯ
реестр — Управление реестром Windows
СИНТАКСИС
ОПИСАНИЕ
реестр трансляции имя_ключа ?-таймаут миллисекунды?
реестр удалить имя_ключа ?имя_значения?
реестр получить имя_ключа имя_значения
реестр ключи имя_ключа ?шаблон?
реестр установить имя_ключа ?имя_значения данные ?тип??
реестр тип имя_ключа имя_значения
реестр значения имя_ключа ?шаблон?
ПОДДЕРЖИВАЕМЫЕ ТИПЫ
двоичный
нет
sz
expand_sz
dword
dword_big_endian
ссылка
multi_sz
список_ресурсов
ПРОБЛЕМЫ ПЕРЕНОСИМОСТИ
ПРИМЕР
КЛЮЧЕВЫЕ СЛОВА

Имя

реестр — Управление реестром Windows

Синтаксис

пакет требуется реестр 1.3
реестр ?-режим? опция имя_ключа ?арг арг ...?

Описание

Пакет реестр предоставляет набор общих операций для управления реестром Windows. Пакет реализует команду Tcl реестр. Эта команда поддерживается только в платформе Windows. Предупреждение: эту команду следует использовать с осторожностью, так как поврежденный реестр может привести к тому, что ваша система станет неиспользуемой.

Имя_ключа — имя ключа реестра. Ключи реестра должны быть одного из следующих форматов:

\\имя_хоста\имя_корня\путь_к_ключам

имя_корня\путь_к_ключам

имя_корня

Имя_хоста указывает имя любого допустимого хоста Windows, который экспортирует свой реестр. Компонент имя_корня должен быть одним из HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_CURRENT_CONFIG, HKEY_PERFORMANCE_DATA или HKEY_DYN_DATA. Компонент путь_к_ключам может содержать одно или несколько имен ключей реестра, разделенных символами обратного слэша (\).

Необязательный аргумент -режим указывает, с каким реестром работать; если он равен -32bit, будет использоваться 32-битный реестр, а если -64bit — 64-битный. Если этот аргумент опущен, в качестве объекта запрошенной операции будет использоваться стандартный реестр системы.

Опция указывает, что нужно сделать с именем ключа реестра. Допускаются любые уникальные сокращения для опции. Допустимые опции:

реестр трансляции имя_ключа ?-таймаут миллисекунды?
Отправляет сообщение трансляции системе и запущенным программам, уведомляя их об определенных обновлениях. Это необходимо для распространения изменений в ключах реестра, таких как Environment. Таймаут указывает время, в миллисекундах, ожидания ответа приложений на сообщение трансляции. По умолчанию он равен 3000. Следующий пример демонстрирует, как добавить путь в глобальную переменную среды и уведомить приложения об изменении без необходимости выхода/входа в систему (предполагается, что у вас есть права администратора):
set regPath [join {
    HKEY_LOCAL_MACHINE
    SYSTEM
    CurrentControlSet
    Control
    {Session Manager}
    Environment
} "\\"]
set curPath [registry get $regPath "Path"]
registry set $regPath "Path" "$curPath;$addPath"
registry broadcast "Environment"
реестр удалить имя_ключа ?имя_значения?
Если присутствует необязательный аргумент имя_значения, указанное значение в имя_ключа будет удалено из реестра. Если необязательный имя_значения опущен, указанный ключ и все подключа или значения под ним в иерархии реестра будут удалены. Если ключ не удалось удалить, генерируется ошибка. Если ключа не существовало, команда не оказывает никакого влияния.
реестр получить имя_ключа имя_значения
Возвращает данные, связанные со значением имя_значения в ключе имя_ключа. Если ключ или значение не существует, генерируется ошибка. Более подробную информацию о формате возвращаемых данных см. в разделе ПОДДЕРЖИВАЕМЫЕ ТИПЫ ниже.
реестр ключи имя_ключа ?шаблон?
Если шаблон не указан, возвращается список имен всех подключа имя_ключа. Если шаблон указан, возвращаются только те имена, которые соответствуют шаблону. Сопоставление определяется по тем же правилам, что и для string match. Если указанный имя_ключа не существует, генерируется ошибка.
реестр установить имя_ключа ?имя_значения данные ?тип??
Если имя_значения не указано, ключ имя_ключа создается, если он еще не существует. Если имя_значения указано, ключ имя_ключа и значение имя_значения создаются при необходимости. Содержимое имя_значения устанавливается в данные с типом, указанным в тип. Если тип не указан, предполагается тип sz. Более подробную информацию об аргументах данные и тип см. в разделе ПОДДЕРЖИВАЕМЫЕ ТИПЫ ниже.
реестр тип имя_ключа имя_значения
Возвращает тип значения имя_значения в ключе имя_ключа. Более подробную информацию о возможных типах см. в разделе ПОДДЕРЖИВАЕМЫЕ ТИПЫ ниже.
реестр значения имя_ключа ?шаблон?
Если шаблон не указан, возвращается список имен всех значений имя_ключа. Если шаблон указан, возвращаются только те имена, которые соответствуют шаблону. Сопоставление определяется по тем же правилам, что и для string match.

Поддерживаемые типы

Каждое значение в ключе реестра содержит данные определенного типа в представлении, специфичном для типа. Команда реестр преобразует это внутреннее представление в представление, которое может быть обработано скриптами Tcl. В большинстве случаев данные просто возвращаются как строка Tcl. Тип указывает предполагаемое использование данных, но фактически не изменяет представление. Для некоторых типов команда реестр возвращает данные в другом формате, чтобы упростить их обработку. Следующие типы распознаются командой реестра:
двоичный
Значение реестра содержит произвольные двоичные данные. Данные точно отображаются в Tcl, включая любые встраиваемые нули.
нет
Значение реестра содержит произвольные двоичные данные без определенного типа. Данные точно отображаются в Tcl, включая любые встраиваемые нули.
sz
Значение реестра содержит строку с завершением нулем. Данные отображаются в Tcl как строка.
expand_sz
Значение реестра содержит строку с завершением нулем, содержащую нерасширенные ссылки на переменные среды в стандартном стиле Windows (например, «%PATH%»). Данные отображаются в Tcl как строка.
dword
Значение реестра содержит 32-битное число в формате little-endian. Данные отображаются в Tcl как десятичная строка.
dword_big_endian
Значение реестра содержит 32-битное число в формате big-endian. Данные отображаются в Tcl как десятичная строка.
ссылка
Значение реестра содержит символическую ссылку. Данные точно отображаются в Tcl, включая любые встраиваемые нули.
multi_sz
Значение реестра содержит массив строк с завершением нулем. Данные отображаются в Tcl как список строк.
список_ресурсов
Значение реестра содержит список ресурсов устройства драйвера. Данные точно отображаются в Tcl, включая любые встраиваемые нули.

В дополнение к символически именованным типам, перечисленным выше, неизвестные типы идентифицируются с использованием 32-битного целого числа, соответствующего коду типа, возвращаемому системными интерфейсами. В этом случае данные отображаются точно в Tcl, включая любые встраиваемые нули.

Проблемы переносимости

Команда реестра доступна только в Windows.

Пример

Вывод того, как двойной щелчок по файлу скрипта Tcl вызовет интерпретатор Tcl:
package require registry
set ext .tcl

# Read the type name
set type [registry get HKEY_CLASSES_ROOT\\$ext {}]
# Work out where to look for the command
set path HKEY_CLASSES_ROOT\\$type\\Shell\\Open\\command
# Read the command!
set command [registry get $path {}]

puts "$ext opens with $command"

Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/registry.htm

Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/registry.htm

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API