//网上都是全部网卡清除,这样会导致运行慢
//获取网卡name的方法有很多,我是用winpcap获取的网卡name
using System; using System.Collections.Generic; using System.Linq; using System.Text; using NETCONLib; using System.Management; using System.Management.Instrumentation; using System.Windows.Forms; namespace ConsoleApplication1 { class Program { private static ManagementObjectCollection objectCollection = null; private static ManagementObject networkobj = null; private static ManagementClass classInstance = null; static void Main(string[] args) { try{ string devname = "Qualcomm Atheros AR8162/8166/8168 PCI-E Fast Ethernet Controller (NDIS 6.20)"; //这里是指定网卡的name classInstance = new ManagementClass("Win32_NetworkAdapterConfiguration"); objectCollection = classInstance.GetInstances(); foreach (ManagementObject obj in objectCollection) { if (obj["Description"].ToString().IndexOf(devname) != -1) { networkobj = obj; break; } } var manager = new NetSharingManager(); var netConnectionCollection = manager.EnumEveryConnection; foreach (INetConnection ncc in netConnectionCollection) { var m = manager.NetConnectionProps[ncc]; var disShareCfg =manager.get_INetSharingConfigurationForINetConnection(ncc); if (m.DeviceName.ToString() == devname) {bool seb = disShareCfg.SharingEnabled; if (seb) { disShareCfg.DisableSharing(); } break; } } } catch (Exception e) { e.ToString(); } } } }
发表评论: