Системный реестр

Управление значаниями параметров системного реестра осуществляется посредством ActiveX-компонента Params.

При использовании инструмента важно понимать следующие особенности работы с системным реестром:

  • Значения параметров системного реестра хранятся в файле, но изменяются в оперативной памяти (на уровне ОС). Синхронизацию содержимого файла и памяти выполняет ОС (критерии неизвестны). Поэтому любые критические ошибки ОС могут стать причиной потери записываемых значения (несохранения в постоянную память (файл)).

  • Доступ к параметрам системного реестра определяется настройками ОС (стандартные наборы привилегий), нужно понимать что используемые значения могут быть изменены и получены всеми, имеющими соответсвующие права доступа. Эта особенность может быть связана с задачами обеспечения синхронизации и безопасности.

Идентификаторы подключения

  • ProgID: AXParams.Params;

  • CLSID: EB6089F4-C551-4E85-A4B3-9390E6DDB56D.

Ограничения использования

Инструмент работает как 32-х-битное приложение.

Инструмент позволят читать и изменять значения параметров системного реестра, а также создавать новые параметры, но только в разделе [HKEY_LOCAL_MACHINE\SOFTWARE\FS365\PARAMS].

Используются только строковые параметры.

Создание или использование подразделов не предусмотрено.

Методы

GetValue(BSTR bstrName)

Получение значения параметра системного реестра.

Возвращаемое значение содержит значение указанного в аргументе «bstrName» параметра.

SetValue(BSTR bstrName, VARIANT varValue);

Запись значения в параметр системного реестра.

Перевый аргумент «bstrName» определяет наименование создаваемого или перезаписываемого параметра, второй аргумент «varValue» определяет записываемое значение.

Преобразование значения к строковому выполняется по неизвестному алгоритму.

Пример использования

<script type="text/javascript">
    // Браузер загрузил HTML и внешние ресурсы (картинки, стили и т.д.).
    window.addEventListener("load", function () {
        REGhelper.SetValue("String", "Test");
        REGhelper.SetValue("Bool", true);
        REGhelper.SetValue("Int", 100);
        REGhelper.SetValue("Float", 3.1415926);
        let strInput = prompt("Введите значение для параметра \"URL_welcome\":", "https://dors.ru/");
        REGhelper.SetValue("URL_welcome", strInput);
        let strUrlWelcome = REGhelper.GetValue("URL_welcome");
        alert(urlWelcome);                                               // https://dors.ru/
    });
</script>

<div style="display:none">
    <OBJECT ID="REGhelper" CLASSID="EB6089F4-C551-4E85-A4B3-9390E6DDB56D"></OBJECT>
</div>