Je travaille sur le projet de contrôle de certains appareils via le port lpt. J'utilise inpout32.dll pour obtenir un accès brut aux ports et je tente maintenant d'énumérer tous les ports LPT disponibles et d'obtenir leur plage d'E/S.Comment énumérer les ports LPT Windows et leur plage d'E/S?
Maintenant, je peux vérifier le gestionnaire de périphériques, mais y a-t-il un moyen plus automatisé?
Maintenant, je suis en train d'utiliser un exemple de code WMI qui devrait fonctionner, mais cela ne
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
en ligne «Pour chaque pnpentity En pnpentities j'obtiens l'erreur. Aussi je ne suis pas sûr si trouver l'entité correspondante m'aidera.
PS. Enfin, j'ai compris comment énumérer les plages de ports 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