Регистрация программы с записью данных в системный реестр
Предлагаемый мною класс реализует самый элементарный (можно сказать, примитивный) механизм регистрации программы с чтением и записью необходимой информации в системный реестр.
Конечно, данный класс можно использовать и в "чистом" виде, но скорее его следует рассматривать как учебное пособие по работе с реестром на начальном этапе.
Не так давно, у меня возникла необходимость предусмотреть возможность регистрации моей собственной программы в системном реестре.
Фактически, вопрос стоял так: Как организовать запись и чтение собственной информации в системном реестре?
Естесственно, что первым делом я посмотрел примеры в Solution и нашел класс
"c:\program files\microsoft visual studio\msdn98\98vsa\1033\samples\vfp98\classes\registry.prg"
Однако, "с налета" и без описания в нем оказалось крайне трудно разобраться.
Предлагаемый мною класс реализует самый элементарный (можно сказать, примитивный) механизм регистрации программы с чтением и записью необходимой информации в системный реестр.
Конечно, данный класс можно использовать и в "чистом" виде, но скорее его следует рассматривать как учебное пособие по работе с реестром на начальном этапе.
Механизм регистрации
1. Считывается серийный номер диска
2. Этот номер посылается разработчику программы
3. На основании полученного номера, разработчик формирует регистрационный номер (в данном примере - это просто десятичный логарифм от серийного номера)
4. Пользователь вводит полученный от разработчика регистрационный номер и может работать с программой.
5. Серийный номер диска и полученный регистрационный номер записываются в системном реестре и проверяются при каждом запуске программы
6. При повторных запусках окно ввода регистрационного номера не активизируется.
По умолчанию, в разделе "HKEY_LOCAL_MACHINE\SOFTWARE" системного реестра будет сосздан подраздел "MyCompany\MyProgramm" и записаны данные в параметр "login"
Пример использования класса приведен в файле Main.prg
Попытался использовать пример в своей программе и столкнулся с проблемой. В реестр ключ записывает
(смотрел в реестре), но считывает пустое значение. Если записать ключ с помощью данного примера,
то считывается нормально.
Что за глюк? WinXP SP2, VFP 9.0 SP1.
Пример работает нормально.
Jester
28.12.06 09:28:49
Глюк. Или длина строки в реестре ограничена.
Ключ цифровой длиной 55 сохраняется и считывается нормально. При длине 60 сохраняется, но не
считывается.
Вообщем нормально.
Спасибо автору за предоставленный пример. :-)