2
我正在通過lpt端口控制某些設備的項目。 我正在使用inpout32.dll來獲取對端口的原始訪問權限,現在嘗試枚舉所有可用的LPT端口並獲取其I/O範圍。如何枚舉窗口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
上線「對於每個pnpentity在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 ResultClass = Win32_PortResource")
For Each port_resource In port_resources
wscript.echo port_resource.Caption
Next
Next