Hola victor:
Revisé tu ejemplo, y está perfecto, estamos en la misma onda.
Por mi parte, continué trabajando en dos sentidos. Pasar todo a Clases y encontrar la forma de controlar la llave en redes.
Generé tres clase:
- TProtect : Se encargará de verificar la llave y su protección. Es la principal a utilizar en la aplicación que se está protegiendo
- TProtec2 : Maneja la interfase de parametrización de la llave
- TChkSock: Controla, mediante SOCKETS la red.
Con esta última, me voy a extender un poco:
Con esta Clase se lleva el control de cuántas terminales están conectadas para controlar que no se exceda el límite de las autorizadas. Verifica cada cierto tiempo, a través de un timer, que las terminales que han ingresado a usar la aplicación protegida sigan activas y no hayan tenido salidas intempestivas por corte de energía o algo así, En caso de que alguna o algunas terminales se hayan caído, la Clase las da de baja y actualiza el número de licencias en uso. Si las terminales que acceden salen adecuadamente, igual, el control de licencias se actualiza automáticamente.
ME FUNCIONA PERFECTO, QUE EMOCIÓN, peeeeeero.......................
Imagínate el siguiente ambiente de Red P2P: En la máquina "A" instalas la aplicación a proteger (Será el SERVIDOR). En esta máquina conectas la USB PenDrive que controla tu aplicación. Las máquinas "B", "C", "NNN" serán las Terminales (CLIENTES) que acceden mediante red a tu aplicación en el SERVIDOR. Cada vez que entra una terminal, automáticamente comienza y mantiene el control de licencias, para lo cual, cada terminal debe leer en el servidor la USB, verificar que todo está correcto y continuar o nó trabajando. Pero, para verificar que todo esté correcto debe COMEZAR POR LEER EL SERIAL DE LA LLAVE. Hasta aquí llegué..................
Por más que he intentado, probado e investigado, no logro que desde una terminal se obtenga el serial de la USB CONECTADA EN OTRO COMPUTADOR. Probé con todas las opcions del WMI y CMI de Microsoft y nada. Parece que no se puede. En cuyo caso, nuestro proyecto servirá solo para apliaciones Monousario
Por otro lado, este proyecto me ha demandado ya ocho días a full time, y como ya llegué a mi límite técnico y estoy corto de tiempo, decidí suspenderlo, pues para uso en monousuarios ya logré lo que necesitaba.
Estaba intentando caminar hacia lograr algo parecido al servicio que prestan las SENTINEL y otras en el mercado, que creo, sería el verdadero valor de este proyecto, y eso incluye, indispensablente, manejo de redes. POR EL OBSTACULO DE NO PODER OBTENER EL SERIAL DE LA LLAVE CONECTADA EN OTRO EQUIPO DISTINTO AL QUE SE ESTA EJECUTANDO LA APLICACION, quedé estancado. La única forma de seguir es con ayuda de los maestros y hermanos mayores del grupo. Yo ya llegué a mi límite técnico y de tiempo.
Si gustas y me das un par de días, te mando a tu correo lo que tengo avanzado. Si alguien más está interesado y puede ayudar a romper la barrera, por favor hágalo saber.
Saludos,
Carlos Gallego