Есть ли что-то вроде Environment.SpecialFolder, кроме путей реестра - PullRequest
4 голосов
/ 04 января 2011

Я хочу сохранить некоторую информацию о приложении в реестре, и я не уверен, где ее хранить.Я хочу, чтобы информация была для всех пользователей, поэтому я бы не использовал HKEY_CURRENT_USER.Может быть, HKEY_LOCAL_MACHINE, но тогда я не уверен, где там.Я не знаю, каковы стандарты для этого и что-то вроде Environment.SpecialFolder, но для путей или папок реестра было бы намного безопаснее и элегантнее.

Ответы [ 2 ]

7 голосов
/ 04 января 2011

Проверьте объект Microsoft.Win32.Registry . Там вы можете найти некоторые объекты, представляющие общие пути реестра, такие как:

  • CurrentUser
  • LocalMachine
  • ClassesRoot
  • Пользователи
  • PerformanceData
  • CurrentConfig
  • DynData

Например, если вы хотите получить доступ к HKEY_CURRENT_USER:

Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Names");
key.SetValue("Name", "Isabella");
key.Close();
5 голосов
/ 04 января 2011

Нет - в отличие от файловой системы, такой метод не нужен, потому что в реестре есть несколько стандартизированных мест, куда идут вещи.

Ваши данные следует хранить в ключе в следующем формате:

HKEY_HIVE\SOFTWARE\Publisher\Program

например:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows

Если вам нужно, чтобы данные были глобальными для всей машины, поместите ваши вещи в HKEY_LOCAL_MACHINE, нообратите внимание, что для записи в это местоположение потребуются права администратора, если только вы не измените DACL на вашем ключе так, чтобы он вел себя по-другому (в какой-то форме установщика или чего-то подобного).

Если вы храните данные для каждого пользователя ( подсказка - большинство данных приходится на пользователя), тогда вы должны поместить вещи в HKEY_CURRENT_USER, что дает то преимущество, что для этого пользователя не требуется никаких специальных прав для доступа к своему улью (по умолчанию).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...