Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Как скопировать запись реестра? Добавлено: 17.07.10 16:41  

Автор вопроса:  Michael Melchakov | ICQ: 302272185 
Как можно одно значение из реестра скопировать в другое место?
В Visual Basic Net

Или может есть на это какая то совсем простенькая програмка? (но нужна автоматизация, т.е. не regedit)

Как стандартно с реестром работать - знаю, только вроде она ограничено одним разделом...

Ответить

  Ответы Всего ответов: 14  

Номер ответа: 1
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 17.07.10 20:00
только вроде она ограничено одним разделом...

кто те такую глупость сказал?

Ответить

Номер ответа: 2
Автор ответа:
 Michael Melchakov



ICQ: 302272185 

Вопросов: 12
Ответов: 31
 Профиль | | #2 Добавлено: 17.07.10 21:26
да где то было написано :))))

А подскажите как читать реестр и как вписывать в него тогда?

Ответить

Номер ответа: 3
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 17.07.10 21:39
С#
1. Запись в реестр

  1. using Microsoft.Win32;
  2.  
  3. RegistryKey saveKey = Registry.LocalMachine.CreateSubKey("software\\.....");
  4. saveKey.SetValue("имя ключа","данные которые хочешь записать");
  5. saveKey.Close();



2. Чтение из реестра

  1. using Microsoft.Win32;
  2.  
  3. RegistryKey readKey = Registry.LocalMachine.OpenSubKey("software\\.....");
  4. string loadString = (string)readKey.GetValue("имя ключа");
  5. readKey.Close();

Ответить

Номер ответа: 4
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #4
Добавлено: 18.07.10 06:25
Это в VB6 чтение/запись в реестр были ограничены одним разделом, чтобы потом было проще .NET толкать :).

Ответить

Номер ответа: 5
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #5 Добавлено: 18.07.10 10:21
:-D

Ответить

Номер ответа: 6
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #6 Добавлено: 18.07.10 10:36
Незнаю нафиг, незнаю, непомню, чтоб для вб6 были какието ограничения в реестре, кроме пары стандартных, для всех.

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 18.07.10 15:12
Из встроенных функций с реестром работали только GetSetting и SaveSetting, как-то так, и они могли работать только с одним ключом.

Ответить

Номер ответа: 8
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #8
Добавлено: 18.07.10 15:25
Во-первых, еще были DeleteSetting, DeleteSettings и GetSettings, а во-вторых не содним ключем:
  1. SaveSettings "MyApp", "MyAppKey", "Path1\Path2\Path3", "Жрать"

Так-то :)

Ответить

Номер ответа: 9
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #9 Добавлено: 18.07.10 15:29
Всё так, но я имел ввиду не встроенные говнофункции, а апи.

Ответить

Номер ответа: 10
Автор ответа:
 Michael Melchakov



ICQ: 302272185 

Вопросов: 12
Ответов: 31
 Профиль | | #10 Добавлено: 18.07.10 18:19
С#
1. Запись в реестр

  1. using Microsoft.Win32;
  2.  
  3. RegistryKey saveKey = Registry.LocalMachine.CreateSubKey("software\\.....");
  4. saveKey.SetValue("имя ключа","данные которые хочешь записать");
  5. saveKey.Close();



2. Чтение из реестра

[source]using Microsoft.Win32;

RegistryKey readKey = Registry.LocalMachine.OpenSubKey("software\\.....");
string loadString = (string)rea


Спасибо только это для C а мне бы для Visual basic net

Хотя теперь есть от чего хотя бы оттолкнуться в поиске

Ответить

Номер ответа: 11
Автор ответа:
 Michael Melchakov



ICQ: 302272185 

Вопросов: 12
Ответов: 31
 Профиль | | #11 Добавлено: 18.07.10 18:58
Я такое использовал:
  1. Dim key As Microsoft.Win32.RegistryKey
  2. key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SYSTEM\CurrentControlSet\Services\xxx") ' ветка реестра
  3. key.SetValue("Volume2", key.GetValue("Volume")) ' в скобках первое в какой ключ писать, второе что писать Set записать get - читать


Хотя не очень и нежно мне это будет, но все таки спрошу. Если тип данных REG_Dword - то они легко пишутся в переменную string или просто допустим в какую нибудь метку (Label1.text). А если данные идут Reg_Binary - какой тип переменной нужен? :-[

Ответить

Номер ответа: 12
Автор ответа:
 Michael Melchakov



ICQ: 302272185 

Вопросов: 12
Ответов: 31
 Профиль | | #12 Добавлено: 18.07.10 18:59
И спасибо EROS - очень помог :)

Ответить

Номер ответа: 13
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #13 Добавлено: 18.07.10 19:57
Michael Melchakov пишет:
А если данные идут Reg_Binary - какой тип переменной нужен? :-[

byte[] я так думаю

Ответить

Номер ответа: 14
Автор ответа:
 Alex



Вопросов: 7
Ответов: 73
 Профиль | | #14 Добавлено: 18.07.10 23:12
Пример авторана с использованием реестра
  1.  
  2.     Private Const RUN_LOCATION As String = "Software\Microsoft\Windows\CurrentVersion\Run"
  3.     Private Const VALUE_NAME As String = "MyAPP"
  4.  
  5.     Public Sub SetAutoStart()
  6.         Dim key As RegistryKey = Registry.CurrentUser.CreateSubKey(RUN_LOCATION)
  7.         key.SetValue(VALUE_NAME, Assembly.GetExecutingAssembly().Location)
  8.     End Sub
  9.  
  10.     Public Function IsAutoStartEnabled() As Boolean
  11.         Dim key As RegistryKey = Registry.CurrentUser.OpenSubKey(RUN_LOCATION)
  12.         If key Is Nothing Then Return False
  13.  
  14.         If key.GetValue(VALUE_NAME) Is Nothing Then Return False
  15.         Dim value As String = key.GetValue(VALUE_NAME).ToString()
  16.  
  17.         Return (value = Assembly.GetExecutingAssembly().Location)
  18.     End Function

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам