2

Obtener Vendor ID y Product ID

Esta es mi forma de resolver la consulta que samfourie hizo en el foro de neosoftware, en la cual pregunta como obtener el Vendor ID de un dispositivo USB. Con esto podría restringir el uso de su aplicación a dispositivos que él decida.

Al momento de escribir esta entrada (me demoré en publicarla por cuestiones de trabajo), sam ya encontró una forma de hacerlo, pero siempre es bueno tener alternativas. Por mi parte encuentro dicha solución como insegura, pues manipula un archivo de texto que puede ser alterado, y no comprueba si la aplicación esta siendo ejecutada desde el dispositivo (solo comprueba su presencia, que como dije antes puede ser alterado).

Pues esta es mi manera:

Plugins necesarios:

hpwControl

Funciones necesarias:

EsRemovible (incluida en el rar)

LeerValorBinarioReg (incluida en el rar)

Para llegar a la solución, lo separé en 3 pasos.

1 – Comprobar si la unidad es removible

2- Si es removible obtiene del registro informacion de la unidad (si no es removible cierra la aplicación)

3- Una vez obtenida la informacion busca en las unidades usb el VID y PID con el SN del dispositivo.

En el ejemplo esta todo comentado, por lo cual no pondré todo el código.

Captura

Descarga

  ejVID.rar (1,2 MiB, 1.362 hits)

NOTA: Las funciones listadas arriba deben ser copiadas a la carpeta Functions de NeoBook.

NOTA 2: El ejemplo puede ser modificado para restringir el uso segun el VID obtenido.


2 Comments

  1. La sulucion es buena, el unico fallo que le veo, que no es culpa de la aplicacion, es que di usas llaves usb identicas, no puede diferenciar entre ellas, con lo que no se puede usar como sistema de seguridad, con copiar todo en una usb identica, el programa funcionaria igualmente. lo teste con dos usb hp 4GB v165W.
    Saludos.

  2. Hola Au. El ejemplo esta realizado para funcionar solo con una marca de pendrives, por eso es que puede funcionar con otro idéntico. Pero también se puede hacer que reconozca distintos ya que en una parte se obtiene el SN del dispositivo.

    Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *