русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Где хранить


Дата добавления: 2013-12-23; просмотров: 527; Нарушение авторских прав


Что хранить

NetUserGetLocalGroups

http://msdn.microsoft.com/en-us/library/windows/desktop/aa370655%28v=vs.85%29.aspx

или

http://msdn.microsoft.com/en-us/library/windows/desktop/aa370430%28v=vs.85%29.aspx

 

 

При проектировании способов хранения настроек своей программы следует задаться тремя вопросами:

  • Что хранить?
  • Где хранить?
  • Как хранить?

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

Обычно приходит на ум:

  • Хранить настройки в системном реестре.
  • Хранить настройки в каталоге куда установлена программа.
  • Хранить настройки в системном каталоге Windows.
  • Хранить настройка в домашнем каталоге пользователя.
  • Хранить настройки в корне диска

В Windows имеется три места предназначенных для хранения настроек которыми и следует пользоваться.

  • Системный реестр.
  • Домашний каталог пользователя (точнее один из его подкаталогов).
  • Общий каталог для пользователей.

Прочие мысли о местах хранения настроек должны быть выброшены из голов как вредные и противоестественные. Для тех кто не понимает почему, объясняю. На нормальной ОС (W'NT, W'2K) программа обычно запускается от имени и с правами конкретного пользователя. Обычно, если этот пользователь не является администратором, он имеет право изменять содержимое следующих ресурсов:



  • часть реестра HKEY_CURRENT_USER\*
  • содержимое своего домашнего каталога.
  • содержимое временного каталога (который как правило находится внутри домашнего).
  • содержимое некого каталога или каталогов специально выделенного для этого администратором.

При нормальном (читайте параноидальном) администрировании системы прочие места либо доступны только в режиме чтения, либо вообще недоступны. В том числе и папки \Program Files и Windows. Посему любая попытка программы изменять любые файловые ресурсы окромя вышеуказанных черевата тем что ее (программу) и его (пользователя) пошлют подальше. Причем далеко не в самой вежливой форме.

 

Реестр Windows (системный реестр) — иерархически построенная база данных параметров и настроек в большинстве операционных систем Microsoft Windows.

Ключи реестраПараметры реестраЗначения параметров

С точки зрения хранения настроек программы системный реестр разделен на две части. Это ветви HKEY_CURRENT_USER для хранения настроек специфичных для пользователя, и HKEY_LOCAL_MACHINE для хранения настроек специфичных для всего ПК и соответственно всех пользователей, работающих с этим ПК.

Рекомендуемая структура ветвей для хранения настроек программы - HKEY_CURRENT_USER\Software\Company Name\Application Name\Version и соответственно HKEY_LOCAL_MACHINE\Software\Company Name\Application Name\Version. Программе следует расчитывать на то что нужных ей ключей может не оказаться в реестре или значения лежащие в реестре имеют неверный формат или недопустимые значения. В таком случае, вместо несуществующих или неверных значений настройки, программа должна использовать значения по умолчанию которые разработчик может жестко забить в код или получить с помощью различных системных функций. Не следует использовать системный реестр для хранения больших кусков данных. Вместо этого лучше хранить объемные данные в отдельном файле, а в реестре запомнить имя этого файла. Long values (more than 2,048 bytes) should be stored as files, with the locations of the files stored in the registry.



<== предыдущая лекция | следующая лекция ==>
PASSIVE MODE | Системный реестр


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.