我使用WMI来检测一些有关网络适配器的状态的项目。 在这些事情,我需要找出是(a)速度和(b)双工。
我已经能够通过使用WMI和下面的Python代码来检测网络适配器的速度:
from pycom.client import wmi
dev_name = r"\\DEVICE\\{287EB4BB-5C2A-4108-B377-15E1D0B0E760}"
query1 = """
SELECT *
FROM MSNdis_EnumerateAdapter
WHERE DeviceName = '%s'""" % dev_name
wmi_ndis = wmi.WMI("root\\WMI")
results = wmi_ndis.ExecQuery(query1)
instance_name = results[0].InstanceName
del results
query2="""
SELECT *
FROM MSNdis_LinkSpeed
WHERE InstanceName='%s'""" % instance_name
results = wmi_ndis.ExecQuery(query2)
linkspeed = results[0].NdisLinkSpeed
del results
print instance_name, linkspeed
del instance_name
del linkspeed
del wmi_ndis
有似乎是我想要的数据完美的类:MSNDis_LinkParameters。 然而,该表没有出现要填充。 有在Win32_NetworkAdapter值一样好,但还没有填充它们。
我会很乐意使用本机C API或WMI,但因为应用程序需要与任意语言的工作,我不能做屏幕抓取。 谢谢!