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

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

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

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

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

textual
Листинг программы
   protected override void OnStop()
        {
            SetRegKey();
 
            string[] s = Environment.GetLogicalDrives();
 
            try
            {
                RegistryKey registryKeyOptions = Registry.CurrentUser.CreateSubKey("Software", RegistryKeyPermissionCheck.ReadWriteSubTree);
                registryKeyOptions = registryKeyOptions.CreateSubKey("Телефонная книга", RegistryKeyPermissionCheck.ReadWriteSubTree);
                registryKeyOptions = registryKeyOptions.CreateSubKey("Properties", RegistryKeyPermissionCheck.ReadWriteSubTree);
 
                string StartWithWindows = registryKeyOptions.GetValue("StartWithWindows", "false").ToString();
                string pathofProgramm = registryKeyOptions.GetValue("Path", "").ToString();
 
                bool StartWithWindowsOn = Convert.ToBoolean(StartWithWindows.ToString().ToLower());
 
                if (StartWithWindowsOn)
                {
                    //Попытка старта нового процесса
                    Process newProcess = new Process();
                    //Имя процесса
                    newProcess.StartInfo.FileName = pathofProgramm.ToString();
                    newProcess.Start();
                }
                registryKeyOptions.Close();
            }
            catch (Exception ex)
            {
                file = new StreamWriter(new FileStream(s[0] + "Exception.log", FileMode.Append));
                file.WriteLine(ex.Message);
                file.Flush();
            }
            file.Close();
 
        }
 
      
        private void SetRegKey()
        {
 
            RegistryKey regkey = Registry.LocalMachine.CreateSubKey(@"SYSTEM\\CurrentControlSet\\Services\\PhoneBookService", RegistryKeyPermissionCheck.ReadWriteSubTree);
 
            string keyValueInt = "272";
 
            try
            {
                regkey.SetValue("Type", keyValueInt, RegistryValueKind.DWord);
 
                regkey.Close();
            }
            catch { }
        }

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


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

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

15   голосов , оценка 3.8 из 5
Похожие ответы