MiniM. Saving time.


| About | Download | Tools | Knowledge Base | How to Buy |

MiniM Overview

Getting Started

Download

Documentation

Tools

Cache Tools

GT.M Tools

Knowledge Base

FAQ

Contacts

Copyrights

MiniM Additional Tools | ENG | Jan 26, 2010

ZDLL module for MiniM to interact with Windows Registry

Модуль взаимодействия с реестром Windows состоит из двух частей:

  • ZDLL модуль zregistry.dll
  • рутина ^%ZREGISTRY

Модуль обеспечивает взаимодействие с реестром, чтение и запись значений.

Для идентификации разделов реестра в качестве параметра Root функции используют строки нечувствительно к регистру:

  • "HKCR" или "HKEY_CLASSES_ROOT"
  • "HKCU" или "HKEY_CURRENT_USER"
  • "HKLM" или "HKEY_LOCAL_MACHINE"
  • "HKU" или "HKEY_USERS"
  • "HKPD" или "HKEY_PERFORMANCE_DATA"
  • "HKDD" или "HKEY_DYN_DATA"
  • "HKCC" или "HKEY_CURRENT_CONFIG"
При выполнении функций генерируются ошибки <FUNCTION>, если работа с укзанными разделами или ключами реестра невозможна по каким-либо причинам.

Использованные в примерах имена ключей и значений исключительно тестовые, ни к каким программам не имеют отношения, возможные совпадения случайны.

Функции модуля:

LoadLibrary()
Возврат: нет

Параметры: нет

Назначение: вызов LoadLibrary рекомендуется выполнить до обращения к реестру если предполагается ябольшое количество обращений к нему, это несколько улучшит время работы за счет отказа от повторных загрузок dll.

Пример:

d LoadLibrary^%ZREGISTRY()
FreeLibrary()
Возврат: нет

Параметры: нет

Назначение: освобождение библиотеки dll если она более не нужна для работы процесса, если она была загружена предварительно вызовом LoadLibrary()

Пример:

d FreeLibrary^%ZREGISTRY()
CreateKey(Root,Key)
Возврат: 1 если ключ успешно создан и 0 если не удалось создать

Параметры: Key - строка идентификации ключа.

Назначение: создает новый ключ в реестре.

Пример:

USER>s root="HKEY_LOCAL_MACHINE"

USER>s key="SOFTWARE\MiniM\Export"

USER>w $$CreateKey^%ZREGISTRY(root,key)
1
DeleteKey(Root,Key)
Возврат: 1 если удаление прошло успешно и 0 если ключ для удаления не был найден.

Параметры: Key - строка идентификации ключа.

Назначение: удаляет ключ из реестра. При повторном вызове возвращает 0.

Пример:

USER>s root="HKEY_LOCAL_MACHINE"

USER>s key="SOFTWARE\MiniM\Export"

USER>w $$DeleteKey^%ZREGISTRY(root,key)
1
USER>w $$DeleteKey^%ZREGISTRY(root,key)
0
DeleteValue(Root,Key,Name)
Возврат: 1 если удаление прошло успешно и 0 если удаление невозможно

Параметры: Key - строка идентификации ключа, Name - строка идентификации значения.

Назначение: удаляет значение из реестра по указанному ключу и имени.

Пример:

USER>s root="HKEY_LOCAL_MACHINE"

USER>s key="SOFTWARE\MiniM\Export"

USER>s name="Directory"

USER>w $$DeleteValue^%ZREGISTRY(root,key,name)
1
GetDataInfo(Root,Key,Name)
Возврат: пустая строка если указанного значения по указанному ключу не существует или тип и длина разделенные запятыми. Типы:
  • 0 - неопределенный тип
  • 1 - строка
  • 3 - число
  • 4 - бинарные данные

Параметры: Key - строка идентификации ключа, Name - строка идентификации значения.

Назначение: определить типа и длину данных указанного значения по указанному ключу.

Пример:

USER>s root="HKEY_LOCAL_MACHINE"

USER>s key="SOFTWARE\MiniM\Export"

USER>s name="Directory"

USER>w $$GetDataInfo^%ZREGISTRY(root,key,name)
1,13
GetKeyNames(Root,Key,Names)
Возврат: количество подключей указанного ключа и имена подключей. Имена подключей возвращаются в качестве подиндексов переменной Names, передаваемой по ссылке.

Параметры: Key - строка идентификации ключа, Names - ссылка на локальную переменную для записи в ее подиндексы подключей.

Назначение: вернуть подключи указанного ключа и их количество.

Пример:

USER>s root="HKEY_LOCAL_MACHINE"

USER>s key="SOFTWARE\MiniM"

USER>w $$GetKeyNames^%ZREGISTRY(root,key,.names)
1
USER>zw names
names("Export")=""
GetValueNames(Root,Key,Names)
Возврат: количество значений у указанного ключа.

Параметры: Key - строка идентификации ключа, Names - ссылка на локальную переменную для записи в ее подиндексы имен значений.

Назначение: вернуть имена значений указанного ключа и их количество.

Пример:

USER>s root="HKEY_LOCAL_MACHINE"

USER>s key="SOFTWARE\MiniM\Export"

USER>w $$GetValueNames^%ZREGISTRY(root,key,.names)
1
USER>zw names
names("Directory")=""
HasSubKeys(Root,Key)
Возврат: 1 если указанный ключ имеет подключи, или 0.

Параметры: Key - строка идентификации ключа

Назначение: определить и вернуть индикатор есть ли у указанного ключа подключи

Пример:

USER>s root="HKEY_LOCAL_MACHINE"

USER>s key="SOFTWARE\MiniM"

USER>w $$HasSubKeys^%ZREGISTRY(root,key)
1
USER>s key="SOFTWARE\MiniM\Export"

USER>w $$HasSubKeys^%ZREGISTRY(root,key)
0
KeyExists(Root,Key)
Возврат: 1 если ключ существует и 0 если нет

Параметры: Key - строка идентификации ключа

Назначение: проверить и вернуть индикатор существования ключа.

Пример:

USER>s root="HKEY_LOCAL_MACHINE"

USER>s key="SOFTWARE\MiniM\Export"

USER>w $$KeyExists^%ZREGISTRY(root,key)
1
USER>s key="SOFTWARE\MiniM\FFFF"

USER>w $$KeyExists^%ZREGISTRY(root,key)
0
ValueExists(Root,Key,Name)
Возврат: 1 если указанное значение по указанному ключу существует и 0 если нет

Параметры: Key - строка идентификации ключа, Name - строка идентификации значения.

Назначение: проверить и вернуть индикатор существования значения по указанному ключу.

Пример:

USER>s root="HKEY_LOCAL_MACHINE"

USER>s key="SOFTWARE\MiniM\Export"

USER>s name="Directory"

USER>w $$ValueExists^%ZREGISTRY(root,key,name)
1
USER>s name="FFFF"

USER>w $$ValueExists^%ZREGISTRY(root,key,name)
0
ReadString(Root,Key,Name)
ReadInteger(Root,Key,Name)
ReadBinary(Root,Key,Name)
Возврат: прочитанное значение

Параметры: Key - строка идентификации ключа, Name - строка идентификации значения.

Назначение: читает указанное значение по указанному ключу в зависимости от указанного типа, соответственно ReadString читает строку, ReadInteger читает число и ReadBinary читает первые до 32 килобайт бинарного значения.

Пример:

USER>s root="HKEY_LOCAL_MACHINE"

USER>s key="SOFTWARE\MiniM\Export"

USER>s name="Directory"

USER>w $$ReadString^%ZREGISTRY(root,key,name)
c:\exportdata
WriteString(Root,Key,Name,Value)
WriteInteger(Root,Key,Name,Value)
WriteBinary(Root,Key,Name,Value)
Возврат: нет

Параметры: Key - строка идентификации ключа, Name - строка идентификации значения, Value - значение.

Назначение: создает или переписывает значение по указанному ключу и имени. В реестре значения типизированы, и соответственно WriteString записывает как строковое значение (завершающееся нулем), WriteInteger как числовое и WriteBinary как последовательность байт.

Пример:

USER>s root="HKEY_LOCAL_MACHINE"

USER>s key="SOFTWARE\MiniM\Export"

USER>s name="Directory"

USER>s value="c:\exportdata"

USER>d WriteString^%ZREGISTRY(root,key,name,value)

USER>

Download setup-zregistry.exe (for x86-32) (exe, 0.35Mb)
Download setup-zregistry_x64.exe (for x64) (exe, 0.34Mb)

Евгений Каратаев
support@minimdb.com

To add module send text description and zip archive to mail: support@minimdb.com


Copyright (C) 2017 Eugene Karataev
Emails: Info Tech Support