«Иногда необходимо просканировать реестр удаленного компьютера, чтобы определить наличие некоторых элементов «ключ-значение» или изменить их.
'RegistryKey, Registry и RegistryHive в пространстве имен Microsoft.Win32 в .NET используются для управления реестром
'|______ ScanRemoteRegister ___________|
'| Копирайт wgscd (c)2005 |
'| QQ: 153964481 Электронная почта: [email protected] |
'| Блог: http://blog.csdn.net/wgsnet |
'|________________________________________|
Тусклое деревоV как новый TreeView
Тусклый подузел как новый TreeNode
Тусклое деревоN как новый TreeNode
Функция OpenRemoteRegister (ByVal RemoteBaseKey как строка, ByVal ComputerName как строка) как строка
Тусклый подраздел как Microsoft.Win32.RegistryKey
Dim k As Microsoft.Win32.RegistryKey = Microsoft.Win32.RegistryKey.OpenRemoteBaseKey(RemoteBaseKey, Net.Dns.GetHostByName(ComputerName).HostName)
TreeV.Nodes.Add(Net.Dns.GetHostByName(ComputerName).HostName) 'Добавляем имя компьютера в TreeView
TreeV.Nodes.Add(k.Name)
Dim как строка
For Each s In k.GetSubKeyNames 'Получите имя подраздела
TreeN.Nodes.Add(s)
подраздел = k.OpenSubKey(s)
OpenKeys(subkey) 'Открыть подразделы/ключи
Следующий
TreeV.Nodes.Add(деревоN)
Конечная функция
Sub OpenKeys (ключ ByVal как Microsoft.Win32.RegistryKey)
'k.SubKeyCount' получает количество подразделов.
Dim как строка
Dim SubKey как Microsoft.Win32.RegistryKey
TreeN.Nodes.Add(Key.Name)
Если Key.GetSubKeyNames.Length > 0 Тогда
For Each s In Key.GetSubKeyNames 'Получаем имя подраздела
TreeN.Nodes.Add(s)
Пытаться
SubKey = Key.OpenSubKey(s, False)
Me.Text = s
Если это похоже на «*microsoft*» или «*wgscd*», то «Добавить условия поиска», Затем «Добавить условия поиска».
'ДОБАВЬТЕ СВОЙ КОД....
MsgBox(и)
Конец, если
OpenKeys(Подключ)
Поймать бывшего как исключение
Конец Попробовать
дальше
TreeV.Nodes.Add(treeN) 'Добавьте раздел реестра в TreeView в качестве подраздела
End If
Конец субтитра
Подкупол()
OpenRemoteRegister(Microsoft.Win32.RegistryHive.CurrentUser, Net.Dns.GetHostByName("wgscd").HostName) 'Сканировать элемент CurrentUser
«wgscd» — это имя удаленного компьютера, который вы хотите сканировать. Обратите внимание, что предполагается, что у вас есть соответствующие разрешения для «удаленного компьютера»!
'OpenRemoteRegister(Microsoft.Win32.RegistryHive.LocalMachine, Net.Dns.GetHostByName("wgscd").HostName)'Сканировать записи LocalMachine
' OpenRemoteRegister(Microsoft.Win32.RegistryHive.Users, Net.Dns.GetHostByName("wgscd").HostName) 'Сканировать элементы пользователей
' OpenRemoteRegister(Microsoft.Win32.RegistryHive.ClassesRoot, Net.Dns.GetHostByName("wgscd").HostName) 'Сканировать элементы ClassesRoot
'OpenRemoteRegister(Microsoft.Win32.RegistryHive.CurrentConfig, Net.Dns.GetHostByName("wgscd").HostName) 'Сканировать элементы CurrentConfig
'OpenRemoteRegister(Microsoft.Win32.RegistryHive.DynData, Net.Dns.GetHostByName("wgscd").HostName) 'Сканировать элементы DynData
Конец субтитра
ПодсканированиеRemoteRegistry()
Dim Mythread As New Threading.Thread (Купол AddressOf)
Мифред.Старт()
Конец субтитра
Sub AddTreeViewToForm() 'Добавляем TreeView в Formss
С деревом V
.Ширина = 400
.Высота = 500
Конец с
Me.Controls.Add(treeV)
Завершить дополнительный
вызов:
ScanRemoteRegistry()