C#学习教程:如何在C#中以编程方式禁用(或重置)网络适配器网络适??配器。背景原因:在PC上安装蓝牙堆栈后,蓝牙PAN适配器阻止了蓝牙管理器程序(在系统托盘中运行)。如果我禁用蓝牙PAN,那么蓝牙管理器工作正常。此问题仅发生在WindowsXPEmbedded计算机上。试试这个:netshinterfacesetinterface"YOUR_ADAPTOR"DISABLEDnetshinterfacesetinterface"YOUR_ADAPTOR"DISABLED注意:注意确保XP,但在WindowsVista/Windows7中这只适用于以管理员权限运行的命令提示符(“以管理员身份运行”选项)。如果您想使用设备管理器中显示的名称,使用WMI可能更容易。一题SELECT*FROMWin32_NetworkAdpaterWHERENName='namefromdevicemnanager'会用Disable方法选择WMI对象。给定设备名称是“RealtekPCIeGBEFamilyController”,如下所示:varsearcher=newManagementObjectSearcher("select*fromwin32_networkadapterwhereName='RealtekPCIeGBEFamilyController'");varfound=searcher.Get();varnicObj=found.First()asManagementObject;//需要从ManagementBaseObject进行转换才能访问InvokeMethod。varresult=(uint)nicObj.InvokeMethod("禁用");//0=>成功;否则错误。注意。与Netsh一样,这需要提升才能执行禁用(但不是查询)。这取决于您要禁用的内容。如果您试图禁用LAN网络接口,在XP机器上以编程方式执行此操作的唯一可能性(据我所知)是使用devcon.exe(类似于设备管理器的命令行实用程序的程序)。语法是devcondisable*您的适配器的硬件ID*您可以获得HWID(以及许多其他详细信息)wmicNIC,或者如果您可以访问XP机器上的Powershell,那么您可以使用它,因为您可以很好地过滤掉它。wmicNIC除了输出Select*FromWin32_NetworkAdaptergwmiwin32_networkAdapter|的结果外什么都不做选择名称,PNPDeviceID|其中{$_.Name-eq"*youradaptername*"}或gwmi-query"selectName,PNPDeviceIDfromWin32_Networkadapter"|其中{$_.Name-eq"*youradaptername*"}使用WMI禁用或启用适配器的问题是设备驱动程序可以实现Disable()和Enable()方法,因此您不能真正依赖它在职的。我不知道netsh与蓝牙适配器和其他设备的配合情况如何,但我肯定会推荐尝试一下,因为它比使用devcon和必须查找HWID简单得多。以上就是C#学习教程的全部内容:如何以编程方式禁用(或重置)C#中的网络适配器共享。如果对你有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
