|
Respondiendo a la duda con HDESK
Hola a todos aquellos amigos que se han tomado el trabajo de responder a mi duda:
Me parece justo que explique el por que de HDESK y debido al interes que sucito. VEran.
Como loes contaba, estaba desarrollando una aplicacion que permitiera el registro de estudiantes a los labs de mi universidad. La cosa, es que cuando el Sist. Op. levantara, entre uno de los procesos que primero se ejecutara fuese esta aplicacion(Register la llame). Cuando Register se ejecutara no deberia permitir que el usuario pudiese hacer nada en la computadora hasta que este no entrara su numero de ID y fuese comprobado que ese ID existiera en la BD y fuese registrado. Ahi es donde viene lo de los desktops virtuales y por default, pues si Register al ejecutarse en el desktop default creara uno virtual y luego se pasara al virtual me quitaba la opcion de tener que hacer una aplicacion que creara el desktop virtual y mandara a ejecutar a Register. A la larga eso fue lo que hice, pues no hay manera de hacer este pase de un desktop a otro. Luego, una vez el usuario registrado la aplicacion debera minimizarse y ponerse al lado del reloj de Windows. Ahhi viene la segunda duda, de como evitar que el usuario pudiese cerrar mi Register desde el Task Manager, que dicho sea de paso, no he encontrado solucion al no ser inhabilitar el Task Manager, lo que me parece una chapuceria y no valida.. pero por el momento no hay otra. Si alguien tiene una sol. mejor pues con gusto agradeceria conocerla. CUando Register se minimise el usuario podra utilizar la PC y todos sus recursos de manera normal, y al terminar de trabajar el usuario debera cerrar su sesion desde el Register, donde en ese momento quedra registrado en la BD la hora de salida del usuario. Es por eso que me hacia falta pasar de un desktop a otro a Register: para que pueda registrarse y desregistrarse sin tebner que crear varias aplicaciones para ello.
Debido a que no se puede hacer esto, lo solucione de la siguiente manera:
Cree un aplicacion que sera la que se levantara cuando el Windows se inicie. Esta aplicacion es La MainApp de Roman. Esta aplicacion llama a Register y a otra que se encargara de cerrar la sesion, que por ahora no tiene nombre. MainApp crea el desktop virtual y llama a Register. Register permite entrar al usuario y cuando el tipo es almacenado en la BD genera un fichero con los datos del registro y se cierra, cerrando tambien el desktop virtual y regresando al default, donde ya estara la aplicacion que cerrara la sesion ejecutandose, dando la impresion de ser una misma aplicacion. Luego, al cerrar la sesion loque se hace es que le aplicacion encargada de este fin lee el fichero generado por Register, consulta la BD y pone la hora de salida, y se cierra la sesion de Windows tambien para garantizar que el proximo usuario pueda registrarse.
Y listo. No creo que tantas aplicaciones sean correctas, pero en vista de que no hay otra manera.... me parece acertada la idea. Y me gustaria que me criticaran lo que les expongo para saber si lo que hice es lo mejor.
Reiterarle las gracias otra vez por el interes que sucito mi duda y decirles qu le sestoy sumamente agradecidos.
__________________
Muchas Gracias...
|