Ver Mensaje Individual
  #6  
Antiguo 10-10-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Por lo que mencionas en el punto 3 no sé si lo que te voy a decir te funcione. Yo hago algo parecido para una sala de cómputo en donde debe registrarse la hora de entrada y de salida así como otros datos pertinentes para cada usuario.

Básicamente lo que hago es:

1. Configurar la pc para iniciar automáticamente con un usuario determinado, digamos, 'estudiante'. Este es un usuario de Windows, no de mi sistema.

2. Para este usuario reemplazo el shell de Windows. Para ello, si no mla recuerdo, agregas en el registro de Windows, en la clave

HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon

la entrada Shell que apunte a tu propia aplicación.

Nota que es Windows NT y no Windows aunque el S.O sea Windows XP o 2000
También nota que esta entrada existe en

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon

pero esto cambiaría el shell para cualquier usuario y te sería más difícil acceder para otros menesteres. Así, yo puedo entrar como administrador y el shell sigue siendo el explorer

3. La aplicación que sustituye al shell, digamos, controlador.exe, lo primero que hace es presentar su propio cuadro de login y ella misma hace la autenticación ya en el sistema de control y no en Windows. De hecho, controlador.exe correrá después del login de Windows, de ahí que configure la máquina para que por defecto entre como usuario 'estudiante'

Como no hay shell, el usuario no puede hacer nada aparte de interactuar con el cuadro de login (hay que deshabilitar la ejecución de programas del administrador de tareas, lo cual puedes hacer con gpedit.msc o directamente en el registro de Windows)

De ese cuadro de login sólo hay dos formas de salir:

a) Oprimiendo un botón que manda cerrar la sesión de Windows, con lo que se sigue sin tener acceso a la pc

b) Proporcionando los datos correctos.

4. controlador.exe verifica contra la base de datos la validez de los datos. Si éstos son correctos entonces, y sólo entonces, manda llamar a explorer.exe

5. En mi caso particular, controlador.exe continúa presentando ya la ventna principal que no es si no una barra similar a la barra de tareas de Windows, que coloco en la parte superior de la pantalla y donde muestro el nombre del usuario y tiene botones o menús para las distintas opciones particulares del sistema. Entre éstas, la de terminar la sesión, con lo cual grabo la hora de salida y demás menesteres apropiados.

// Saludos
Responder Con Cita