Редактировать реестр в Vb.net - PullRequest
2 голосов
/ 13 июня 2011

Мне нужно отредактировать реестр в vb.net (2010). Я знаю, как отредактировать его в файле .reg, но не в Visual Basic 2010, если это помогает. Это код

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system]
"dontdisplaylastusername"=dword:00000000
"legalnoticecaption"="                                             Justin Tech"
"legalnoticetext"="This computer system, including all related equipment, is the property of the Justint Tech and is solely for uses authorized by jUSITN tECH. You have no right to privacy on the system, and all information and activity 

on the system may be monitored.  Any unauthorized use of the system may result in disciplinary action, civil or criminal penalties."
"shutdownwithoutlogon"=dword:00000001
"undockwithoutlogon"=dword:00000001

Ответы [ 2 ]

5 голосов
/ 13 июня 2011

Класс Microsoft.Win32.RegistryKey предоставит вам все функции, необходимые для чтения, изменения и удаления ключей и значений реестра.

Например:

using Microsoft.Win32;

...

RegistryKey myKey = Registry.LocalMachine.OpenSubKey(
       @"SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system", true);

if(myKey == null)
{
  myKey = Registry.LocalMachine.CreateSubKey(
             @"SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system",
             RegistryKeyPermissionCheck.ReadWriteSubTree);
}

myKey.SetValue("dontdisplaylastusername", 0, RegistryValueKind.DWord);
myKey.SetValue("legalnoticecaption", "Justin Tech", RegistryValueKind.String);
myKey.SetValue("legalnoticetext", "This computer system...", 
                                               RegistryValueKind.String);
myKey.SetValue("shutdownwithoutlogon", 1, RegistryValueKind.DWord);
myKey.SetValue("undockwithoutlogon", 1, RegistryValueKind.DWord);

Подраздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies \system действительно будет существовать, я покажу тест, который вы бы сделали, если бы создавали свои собственные ключи и значения для полноты.

2 голосов
/ 13 июня 2011

Так же, как альтернатива работе с ключами реестра непосредственно в VB.NET, вы можете выполнить файл .reg напрямую, используя следующий код:

Process.Start("regedit.exe", "fileName.reg /s")

/ s - запускать его без вывода сообщений.Единственный улов здесь заключается в том, что вы можете столкнуться с возможностью того, что кто-то еще изменит файл .reg и тем самым нарушит вашу безопасность.Однако, если вы поместите файл .reg в центральное место и сделаете его доступным только для чтения, вы можете выполнить его на своих компьютерах.Это позволит вам изменить содержимое файла .reg без изменения кода.

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