NetworkInterface sınıfı
MAC Adresini Alma
WMI ile ağ arayüzleri dolaşılır
Bazen statik bir IP adresi atamak isteriz.WMI kullanılabilir.
WMI ile ağ arayüzleri dolaşılır
ManagementObjectSearcher mos = new ManagementObjectSearcher
("select * from Win32_NetworkAdapterConfiguration");
foreach (ManagementObject mo in mos.Get())
{
string mac = mo["MACAddress"].ToString();
}
IP Adresi AtamaBazen statik bir IP adresi atamak isteriz.WMI kullanılabilir.
private static void SetIP(string ip_address, string subnet_mask)
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection objMOC = mc.GetInstances();
foreach (ManagementObject objMO in objMOC) {
if ((bool)objMO("IPEnabled")) {
try {
ManagementBaseObject setIP = default(ManagementBaseObject);
ManagementBaseObject newIP = objMO.GetMethodParameters("EnableStatic");
newIP("IPAddress") = new string[] { ip_address };
newIP("SubnetMask") = new string[] { subnet_mask };
setIP = objMO.InvokeMethod("EnableStatic", newIP, null);
}
catch (Exception generatedExceptionName) {
throw;
}
}
}
}
Arayüzün Bağlı Olduğunu AnlamaÖrnekConnectionProfile internetCon = GetInternetConnectionProfile();
if (internetConnectionProfile != null)
{
this.IsInternetAvailable = internetConn.GetNetworkConnectivityLevel() ==
NetworkConnectivityLevel.InternetAccess;
if (internetConnec.NetworkAdapter.IanaInterfaceType != 71)
{
var isRoaming = internetConnectionProfile.GetConnectionCost().Roaming;
//user is Low on Data package only send low data.
var isLowOnData = internetConn.GetConnectionCost().ApproachingDataLimit;
//User is over limit do not send data
var isOverDataLimit = internetConn.GetConnectionCost().OverDataLimit;
IsWifiConnected = true;
}
else //Connection is a Wi-Fi connection. Data restrictions are not necessary.
{
IsWifiConnected = true;
}
}
Hiç yorum yok:
Yorum Gönder