//网上都是全部网卡清除,这样会导致运行慢

//获取网卡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(); }
        }
    }
}