//网上都是全部网卡清除,这样会导致运行慢
//获取网卡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(); }
}
}
}
发表评论: