La Web del Programador: Comunidad de Programadores
 
    Pregunta:  51845 - CóMO EJECUTAR SOLAMENTE MI PROGRAMA
Autor:  Reynier Reyes Zayas
Hola, necesito saber si hay algún código para que en Delphi7 cuando yo ejecute la aplicación el usuario no pueda hacer más nada que trabajar con el programa y cuando el usuario cierre la aplicación pues que windows vuelva a su estado normal y el usuario pueda trabajar normalmente, pues un saludo, si me pueden ayudar gracias.

  Respuesta:  Erwin Perez
Algo que me ha funcionado por el momento para usuarios no expertos es lo siguiente:
Al abrir la aplicacion cierras el entorno del escritorio y nevegador de windows:

ShellExecute(0, 'open', 'taskkill.exe', '-IM "explorer.exe" /F',
'', W_SHOWNORMAL);

luego al cerrarlo lo restauras:

ShellExecute(0, 'open', 'explorer.exe', '', '', SW_SHOWNORMAL);

Esto no es lo ideal, ya que si ya hay aplicaciones abiertas aun se puede cambiar con alt-tab, pero si evita que usuarios no expertos inicien nuevas aplicaciones.

Lo ideal seria que colocaras un hook para el teclado y mouse, con lo cual estarias en total control de lo que puede o no hacer el usuario.

La solucion que planteo es muuucho mas sencilla, es cosa de que veas si te sirve para tu aplicacion.