我正在研究通过lpt端口控制某些设备的项目.我使用inpout32.dll获取端口的原始访问权限,现在尝试枚举所有可用的LPT端口并获取其I/O范围.
我现在可以检查设备管理器,但是还有更自动化的方法吗?
现在我试图使用WMI一些应该可以工作的示例代码,但事实并非如此
Set wmiService = GetObject("winmgmts:\\.\root\cimv2")
Set parallelports = wmiService.ExecQuery("SELECT * FROM Win32_ParallelPort")
For Each port In parallelports
q = "SELECT * FROM Win32_PnPEntity WHERE PNPDeviceID = '" & port.PNPDeviceID & "'"
Set pnpentities = wmiService.ExecQuery(q)
For Each pnpentity In pnpentities
wscript.echo pnpentity.PNPDeviceID
Next
Next
Run Code Online (Sandbox Code Playgroud)
在线上'For Each pnpentity In pnpentities'我得到了错误.如果找到相应的实体会帮助我,我也不会感到害羞.
PS.最后我想出了如何枚举lpt i/o端口范围.
Set wmiService = GetObject("winmgmts:\\.\root\cimv2")
Set parallelports = wmiService.ExecQuery("SELECT * FROM Win32_ParallelPort")
For Each port In parallelports
Set port_resources = wmiService.ExecQuery("ASSOCIATORS OF {Win32_ParallelPort.DeviceID='" & port.DeviceID & "'} WHERE …Run Code Online (Sandbox Code Playgroud)