using Microsoft.Win32;
public void GetNetworkInfo()
{
string network_card_key = "SOFTWARE\\Microsoft\\Windows NT\\" + "CurrentVersion\\NetworkCards";
string service_key = "SYSTEM\\CurrentControlSet\\Services\\";
RegistryKey local_machine = Registry.LocalMachine;
RegistryKey service_names = local_machine.OpenSubKey(network_card_key);
if( service_names == null )
return; // Invalid Registry
string[] network_cards = service_names.GetSubKeyNames();
service_names.Close();
foreach( string key_name in network_cards )
{
string network_card_key_name = network_card_key + "\\" + key_name;
RegistryKey card_service_name = local_machine.OpenSubKey(network_card_key_name);
if( card_service_name == null )
return; // Invalid Registry
string device_service_name = (string) card_service_name.GetValue("ServiceName");
string device_name = (string) card_service_name.GetValue("Description");
Console.WriteLine("Network Card = " + device_name);
string service_name = service_key + device_service_name + "\\Parameters\\Tcpip";
RegistryKey network_key = local_machine.OpenSubKey(service_name);
if( network_key != null )
{
// IPAddresses
string[] ipaddresses = (string[]) network_key.GetValue("IPAddress");
foreach( string ipaddress in ipaddresses )
{
MessageBox.Show("IPAddress = " + ipaddress);
}
// Subnets
string[] subnets = (string[]) network_key.GetValue("SubnetMask");
foreach( string subnet in subnets )
{
MessageBox.Show("SubnetMask = " + subnet);
}
//DefaultGateway
string[] defaultgateways = (string[]) network_key.GetValue("DefaultGateway");
foreach( string defaultgateway in defaultgateways )
{
MessageBox.Show("DefaultGateway = " + defaultgateway);
}
network_key.Close();
}
}
local_machine.Close();
}
'C#' 카테고리의 다른 글
C#]주민등록번호 체크 코드 예제 (0) | 2016.06.21 |
---|---|
[C#]프로젝트명, 클래스명, 함수명 구하기 예제 (0) | 2016.06.14 |
[C#]ImageList 예제 (0) | 2016.05.12 |
[C#]Listview에 이미지 출력 예제 (0) | 2016.05.11 |
[C#]Listview column forecolor 변경 예제 (0) | 2016.05.10 |