.NET扫描远程计算机注册表
点击次数:16 次 发布日期:2008-11-26 14:18:02 作者:源代码网
|
源代码网推荐 ".NET 里的Microsoft.Win32命名空间下的RegistryKey ,Registry,RegistryHive就是用来操作注册表的 源代码网推荐 源代码网推荐 "|______ ScanRemoteRegister ___________| 源代码网推荐 "| Coypright wgscd (c)2005 | 源代码网推荐 "| QQ:153964481 E-mail:wgscd@126.com | 源代码网推荐 "| Blog:http://blog.csdn.net/wgsnet | 源代码网推荐 "|______________________________________| 源代码网推荐 源代码网推荐 Dim treeV As New TreeView 源代码网推荐 Dim SubNode As New TreeNode 源代码网推荐 Dim treeN As New TreeNode 源代码网推荐 Function OpenRemoteRegister(ByVal RemoteBaseKey As String, ByVal ComputerName As String) As String 源代码网推荐 Dim subkey As 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 s As String 源代码网推荐 For Each s In k.GetSubKeyNames "得到子键项Name 源代码网推荐 treeN.Nodes.Add(s) 源代码网推荐 subkey = k.OpenSubKey(s) 源代码网推荐 OpenKeys(subkey) "打开子项/键 源代码网推荐 Next 源代码网推荐 treeV.Nodes.Add(treeN) 源代码网推荐 End Function 源代码网推荐 Sub OpenKeys(ByVal Key As Microsoft.Win32.RegistryKey) 源代码网推荐 "k.SubKeyCount"得到子键项数 源代码网推荐 Dim s As String 源代码网推荐 Dim SubKey As Microsoft.Win32.RegistryKey 源代码网推荐 treeN.Nodes.Add(Key.Name) 源代码网推荐 If Key.GetSubKeyNames.Length > 0 Then 源代码网推荐 For Each s In Key.GetSubKeyNames "得到子键项Name 源代码网推荐 treeN.Nodes.Add(s) 源代码网推荐 Try 源代码网推荐 SubKey = Key.OpenSubKey(s, False) 源代码网推荐 源代码网推荐 Me.Text = s 源代码网推荐 If s Like "*microsoft*" Or s Like "*wgscd*" Then "加如搜索条件Then "加如搜索条件 源代码网推荐 "ADD YOR CODE .... 源代码网推荐 MsgBox(s) 源代码网推荐 End If 源代码网推荐 OpenKeys(SubKey) 源代码网推荐 Catch ex As Exception 源代码网推荐 End Try 源代码网推荐 源代码网推荐 Next 源代码网推荐 treeV.Nodes.Add(treeN) "将注册表项以子项添加到TreeView 源代码网推荐 源代码网推荐 End If 源代码网推荐 End Sub 源代码网推荐 Sub dome() 源代码网推荐 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) "扫描Users项 源代码网推荐 " 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项 源代码网推荐 End Sub 源代码网推荐 Sub ScanRemoteRegistry() 源代码网推荐 Dim Mythread As New Threading.Thread(AddressOf dome) 源代码网推荐 Mythread.Start() 源代码网推荐 End Sub 源代码网推荐 Sub AddTreeViewToForm() "将TreeView添加到Formss上 源代码网推荐 With treeV 源代码网推荐 .Width = 400 源代码网推荐 .Height = 500 源代码网推荐 End With 源代码网推荐 Me.Controls.Add(treeV) 源代码网推荐 End Sub 源代码网推荐 源代码网推荐 调用: 源代码网推荐 源代码网推荐 ScanRemoteRegistry() 源代码网推荐 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
