Windows proporciona información sobre diferentes tipos de dispositivos conectados, como discos duros, CDROM, impresoras y otros. Estos dispositivos se pueden conectar a la computadora a través de diferentes interfaces como USB, SCSI, puertos serie o paralelo, etc.
Vea un vídeo de muestra de lo que puede hacer con él en una aplicación de base de datos de Access (DeviceDetectorAuthDemo.accdb) aquí:
https://www.youtube.com/watch?v=qh5hrhpRNIg
AxDeviceDetector.exe es un servidor EXE ActiveX OOP (fuera de proceso) (32 bits) que expone 2 clases:
Hay tres proyectos en este repositorio:
AxDeviceDetector.vbp
SaDeviceDetector.vbp
Este no es un servidor ActiveX, sólo un ejecutable independiente que sirve como muestra y demostración.
Puede simplemente ejecutar este ejecutable, no es necesario registrar el servidor ActiveX para que funcione , ya que no utiliza las clases a través de ActiveX, están integradas de forma privada en el ejecutable. Este proyecto utiliza las mismas clases, pero agrega el formulario frmDetector que muestra los eventos en un cuadro de lista.
ADVERTENCIA : Cuando inicie este proyecto en Visual Basic IDE, le indicará que las dos clases (DeviceDetector y DeviceInfo) tienen una interfaz pública, lo cual no es posible para un ejecutable independiente. Esto sucede porque los dos proyectos comparten los mismos archivos fuente. El IDE de Visual Basic cambiará estas propiedades como privadas. No guardes el proyecto con estos cambios, o tendrás que restaurarlos nuevamente a "Multiuso" para el proyecto del servidor ActiveX.
AxDeviceDetectorTest.vbp
Hay una publicación de blog que explica este proyecto en mi blog personal.
La DLL deviceinfo.dll necesaria en este proyecto se produjo con Visual Studio 2017 (consulte el archivo Léame del repositorio deviceinfo_dll), por lo que necesita la presencia del tiempo de ejecución de Visual C 2017 correspondiente (x86) instalado en la computadora de destino para funcionar correctamente.
También necesitará la DLL de tiempo de ejecución de Visual Basic 5 (SP3) msvbvm50.dll.
El archivo zip descargable contiene las DLL necesarias, que debe colocar donde están los archivos exe o en uno de sus directorios PATH.