您的位置:首页 > 理论基础 > 计算机网络

用系统注册表找出安装在Windows NT /2000/XP系统中的网络设备,并显示每个设备的ip信息

2007-05-31 15:57 295 查看

using System;


using System.Collections.Generic;


using System.Text;


using Microsoft.Win32;




namespace CardGrab




...{


class Program




...{


static void Main(string[] args)




...{


RegistryKey start = Registry.LocalMachine;


RegistryKey cardServiceName, networkKey;


string networkcardKey = "SoftWare/Microsoft/Windows NT/CurrentVersion/NetworkCards";


string serviceKey = "System/CurrentControlSet/Services/";


string networkcardKeyName, deviceName;


string deviceServiceName, serviceName;


RegistryKey serviceNames = start.OpenSubKey(networkcardKey);


if (serviceNames == null)




...{


Console.WriteLine("Bad registry key");


return;


}


string[] networkCards = serviceNames.GetSubKeyNames();


serviceNames.Close();


foreach (string keyName in networkCards)




...{


networkcardKeyName = networkcardKey + "/" + keyName;


cardServiceName = start.OpenSubKey(networkcardKeyName);


if (cardServiceName == null)




...{


Console.WriteLine("Bad registry key {0}", networkcardKeyName);


return;


}


deviceServiceName = (string)cardServiceName.GetValue("ServiceName");


deviceName = (string)cardServiceName.GetValue("Description");


Console.WriteLine(" NetWork card:{0}", deviceName);


serviceName = serviceKey + deviceServiceName + "/Parameters/Tcpip";


networkKey = start.OpenSubKey(serviceName);


if (networkKey == null)




...{


Console.WriteLine("No IP configuration set");


}


else




...{


string[] ipaddresses = (string[])networkKey.GetValue("IPAddress");


string[] defaltGateways = (string[])networkKey.GetValue("DefaultGateway");


string[] subnetmasks = (string[])networkKey.GetValue("SubnetMask");


foreach (string ipaddress in ipaddresses)




...{


Console.WriteLine(" IP Address:{0}", ipaddress);


}


foreach (string subnetmask in subnetmasks)




...{


Console.WriteLine(" Subnet Mask:{0}", subnetmask);


}


foreach (string defaltGateway in defaltGateways)




...{


Console.WriteLine(" Getway:{0}", defaltGateway);


}


networkKey.Close();


}


}


start.Close();


Console.Read();


}


}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐