Как получить RegistryKey в windows service - C#

Узнай цену своей работы

Формулировка задачи:

Как получить RegistryKey в windows service? в коде
Листинг программы
  1. string value = string.Empty;
  2. using (RegistryKey rc = Registry.LocalMachine.CreateSubKey("SOFTWARE").CreateSubKey("ComopanyName").CreateSubKey("Folder"))
  3. value = rc.GetValue("AppFolder").ToString();
rc.GetValue("AppFolder") - возвращает null. А в обычном консольном приложении данный код работает. Спасибо за помощь

Решение задачи: «Как получить RegistryKey в windows service»

textual
Листинг программы
  1.    protected override void OnStop()
  2.         {
  3.             SetRegKey();
  4.  
  5.             string[] s = Environment.GetLogicalDrives();
  6.  
  7.             try
  8.             {
  9.                 RegistryKey registryKeyOptions = Registry.CurrentUser.CreateSubKey("Software", RegistryKeyPermissionCheck.ReadWriteSubTree);
  10.                 registryKeyOptions = registryKeyOptions.CreateSubKey("Телефонная книга", RegistryKeyPermissionCheck.ReadWriteSubTree);
  11.                 registryKeyOptions = registryKeyOptions.CreateSubKey("Properties", RegistryKeyPermissionCheck.ReadWriteSubTree);
  12.  
  13.                 string StartWithWindows = registryKeyOptions.GetValue("StartWithWindows", "false").ToString();
  14.                 string pathofProgramm = registryKeyOptions.GetValue("Path", "").ToString();
  15.  
  16.                 bool StartWithWindowsOn = Convert.ToBoolean(StartWithWindows.ToString().ToLower());
  17.  
  18.                 if (StartWithWindowsOn)
  19.                 {
  20.                     //Попытка старта нового процесса
  21.                     Process newProcess = new Process();
  22.                     //Имя процесса
  23.                     newProcess.StartInfo.FileName = pathofProgramm.ToString();
  24.                     newProcess.Start();
  25.                 }
  26.                 registryKeyOptions.Close();
  27.             }
  28.             catch (Exception ex)
  29.             {
  30.                 file = new StreamWriter(new FileStream(s[0] + "Exception.log", FileMode.Append));
  31.                 file.WriteLine(ex.Message);
  32.                 file.Flush();
  33.             }
  34.             file.Close();
  35.  
  36.         }
  37.  
  38.      
  39.         private void SetRegKey()
  40.         {
  41.  
  42.             RegistryKey regkey = Registry.LocalMachine.CreateSubKey(@"SYSTEM\\CurrentControlSet\\Services\\PhoneBookService", RegistryKeyPermissionCheck.ReadWriteSubTree);
  43.  
  44.             string keyValueInt = "272";
  45.  
  46.             try
  47.             {
  48.                 regkey.SetValue("Type", keyValueInt, RegistryValueKind.DWord);
  49.  
  50.                 regkey.Close();
  51.             }
  52.             catch { }
  53.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы