工厂测试软件中经常会需要程序控制PC机设备管理器中的设备,如测试WIFI吞吐量的时候,要禁用有线的网卡,从而来测试wifi无线吞吐量。 使用PCIE通讯的时候,在测试设备断电前,需要禁用相关的PCIE设备,不然会导致电脑蓝屏。 C基于WMI开发的时候,很多时候会出现无法通过程序禁用,启用的问题,或者相同的程序在有的电脑能正常,有的电脑不能,到底是啥问题,下面分几个步骤来解析。 1截图隐藏的设备对比 2windows系统中设备管理器显示隐藏设备的显示方法 setdevmgrshownonpresentdevices1 startdevmgmt。msc 这样就能显示全部的网络设配器的所有信息 3使用wmi调用Win32NetworkAdapter,为什么用程序(network。InvokeMethod(Enable,null))启用、禁用网路设配器会失败,不能正常执行,而手动启用,禁用的时候又成功。 a网络设备器名称可能会有重复的,一个名称可能对应多个设备。 b重复的网络设配器只显示已经连接的网络设配器,而未连接的处于隐藏状态。 3当程序用名称去匹配网络设配器的时候,往往会匹配到未连接的网络设配器,导致执行启用、禁止的动作不成功。