'Parfois, il est nécessaire d'analyser le registre de l'ordinateur distant pour déterminer l'existence de certains éléments clé-valeur ou pour les modifier.
'RegistryKey, Registry et RegistryHive sous l'espace de noms Microsoft.Win32 dans .NET sont utilisés pour faire fonctionner le registre
'|______ ScanRemoteRegister ___________|
'| Droits d'auteur wgscd (c)2005 |
'|QQ:153964481E-mail:[email protected] |
'| Blog : http://blog.csdn.net/wgsnet |
'|________________________________________|
Dim treeV en tant que nouveau TreeView
Dim SubNode en tant que nouveau TreeNode
Dim treeN comme nouveau TreeNode
Fonction OpenRemoteRegister (ByVal RemoteBaseKey As String, ByVal ComputerName As String) As String
Dim sous-clé comme Microsoft.Win32.RegistryKey
Dim k Comme Microsoft.Win32.RegistryKey = Microsoft.Win32.RegistryKey.OpenRemoteBaseKey(RemoteBaseKey, Net.Dns.GetHostByName(ComputerName).HostName)
treeV.Nodes.Add(Net.Dns.GetHostByName(ComputerName).HostName) 'Ajoute le nom de l'ordinateur au TreeView
treeV.Nodes.Add(k.Nom)
Dim s comme chaîne
Pour chaque s In k.GetSubKeyNames 'Obtenir le nom de la sous-clé
treeN.Nodes.Add(s)
sous-clé = k.OpenSubKey(s)
OpenKeys(sous-clé) 'Ouvrir les sous-clés/clés
Suivant
arbreV.Nodes.Add(arbreN)
Fonction de fin
Sous OpenKeys (clé ByVal comme Microsoft.Win32.RegistryKey)
'k.SubKeyCount' obtient le nombre de sous-clés
Dim s comme chaîne
Dim SubKey comme Microsoft.Win32.RegistryKey
treeN.Nodes.Add(Clé.Nom)
Si Key.GetSubKeyNames.Length > 0 Alors
For Each s In Key.GetSubKeyNames 'Obtenir le nom de la sous-clé
treeN.Nodes.Add(s)
Essayer
SubKey = Key.OpenSubKey(s, False)
Me.Text = s
Si c'est comme "*microsoft*" Ou comme "*wgscd*" Puis 'Ajouter des termes de recherchePuis 'Ajouter des termes de recherche
'AJOUTEZ VOTRE CODE....
Boîte(s) de message
Fin si
Clés ouvertes (sous-clé)
Attraper un ex comme exception
Terminer Essayer
ensuite
treeV.Nodes.Add(treeN) 'Ajouter la clé de registre au TreeView en tant que sous-clé
End If
Fin du sous-marin
Sous-dôme()
OpenRemoteRegister(Microsoft.Win32.RegistryHive.CurrentUser, Net.Dns.GetHostByName("wgscd").HostName) 'Analyser l'élément CurrentUser
'"wgscd" est le nom de l'ordinateur distant que vous souhaitez analyser. Notez que le principe est que vous disposez des autorisations correspondantes pour "ordinateur distant" !
'OpenRemoteRegister(Microsoft.Win32.RegistryHive.LocalMachine, Net.Dns.GetHostByName("wgscd").HostName)'Analyser les entrées LocalMachine
' OpenRemoteRegister(Microsoft.Win32.RegistryHive.Users, Net.Dns.GetHostByName("wgscd").HostName) 'Analyser les éléments des utilisateurs
' OpenRemoteRegister(Microsoft.Win32.RegistryHive.ClassesRoot, Net.Dns.GetHostByName("wgscd").HostName) 'Analyser les éléments ClassesRoot
'OpenRemoteRegister(Microsoft.Win32.RegistryHive.CurrentConfig, Net.Dns.GetHostByName("wgscd").HostName) 'Analyser les éléments CurrentConfig
'OpenRemoteRegister(Microsoft.Win32.RegistryHive.DynData, Net.Dns.GetHostByName("wgscd").HostName) 'Analyser les éléments DynData
Fin du sous-marin
Sous ScanRemoteRegistry()
Dim Mythread comme nouveau Threading.Thread (AddressOf dome)
Mythread.Start()
Fin du sous-marin
Sub AddTreeViewToForm() 'Ajouter TreeView aux formulaires
Avec arbreV
.Largeur = 400
.Hauteur = 500
Terminer par
Me.Controls.Add(treeV)
Fin du sous
-appel :
ScanRemoteRegistry()