Работа с системным реестром Windows

Регистрация
19.12.2015
Сообщения
288
Благодарностей
36
Баллы
28
Не планируется сделать отдельный кубик для работы с системным реестром Windows?

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

Единственный выход сейчас - это писать свой код в кубике C# ?

Я с синтаксисом C# не очень знаком, всегда раньше писал свой код на Паскале. :ah:
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Не думаю что это нужно 99% пользователей ) На форуме где то был пример получения данных из реестра. Поищите)
 
  • Спасибо
Реакции: Ribas
Регистрация
19.12.2015
Сообщения
288
Благодарностей
36
Баллы
28
Ну хорошо, пусть будет так.

Возражать не стану.

Но уверен в том, что функции для чтения данных из системного реестра, а также и для записи данных в системный реестр, могут понадобиться не только мне одному, но и тысячам других пользователей Зеннопостера.
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113
В зенно существует возможность запускать программы
upload_2016-2-5_11-59-53.png
что даёт возможность обращаться к реестру из командной строки.

А как работать с реестром из командной строки - вы найдете здесь.
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Это для чтения значения из реестра.
C#:
var KeyName = "Ключ для чтения";

// Opening the registry key
RegistryKey rk = baseRegistryKey;

// Open a subKey as read-only
RegistryKey sk1 = rk.OpenSubKey(subKey);

// If the RegistrySubKey doesn't exist -> (null)
if (sk1 == null) {
 return null;
} else {
 try {
  // If the RegistryKey exists I get its value
  // or null is returned.
  return (string) sk1.GetValue(KeyName.ToUpper());
 } catch (Exception e) {
  // AAAAAAAAAAARGH, an error!
  ShowErrorMessage(e, "Reading registry " + KeyName.ToUpper());
  return null;
 }
}
Подробности тут http://www.codeproject.com/Articles/3389/Read-write-and-delete-from-registry-with-C
 
Регистрация
19.12.2015
Сообщения
288
Благодарностей
36
Баллы
28
Спасибо, но это все мне известно.

Я уже пробовал так делать.

Однако, я столкнулся с трудностью передачи результата работы программы REG.EXE под управлением коммандного процесвсора CMD.EXE операционной системы Микрософт Виндоус непосредственно в переменную Зеннопостера без предварительного сохранения результата работы пакетного файла на жесткий диск с последующим чтением этого файла Зеннопостером и обработки содсержащегося в нем текста для выделения нужной мне подстроки.

Пока сделал именно так, но это криво, на мой взгляд.

К сожалению, не смог создать правильный код на языке C# и запихнуть его в кубик «Свой код C#», чтобы кубик не ругался и выдавал мне сразу в переменную нужные мне данные, извлеченные из системного реестра:

Код:
public static string PathName
     {
      get
         {
          RegistryKey registryKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings")
          string registryContent = (Registry.GetValue(registryKey.Name, "ProxyServer", "not exist")).ToString();
          return registryContent;
         }
     }
Однако, в разделе для новичков мне уже подсказал Dimionix, что надо сделать. Спасибо ему.

Пока не пробовал сделать так, как он сказал. Но думаю, раз он сказал, то все должно работать.

http://zennolab.com/discussion/threads/kak-prochitat-kljuch-iz-sistemnogo-reestra.24964/#post-173093
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)