C/Visual C - Hacer que un programa se ejecute en segundo plano

 
Vista:

Hacer que un programa se ejecute en segundo plano

Publicado por David (1 intervención) el 04/02/2003 00:49:52
Es una practica-apuesta con un profesora, consigo un aumento de nota si consigo hacer un keylogger casero y no tengo ni idea de como hacerlo en c o c++ para que el programa se ejecute en segundo plano y no interrumpa el flujo de datos teclado pantalla.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Hacer que un programa se ejecute en segundo pla

Publicado por Googol (255 intervenciones) el 04/02/2003 16:03:43
¿Windows? ¿MS-DOS? ¿Linux?

En Windows y Linux no hay que hacer nada especial... porque son sistemas operativos multitarea. En Windows tendrás que enganchar tu aplicación a los mensajes del teclado (hay una función en el API, si no recuerdo mal).
En Linux no estoy seguro... tal vez leyendo del terminal.... pero esa solución cruje bastante.
En MS-DOS tendrás que colgarte de alguna interrupción (supongo que en tu caso de la IRQ del teclado, en la interrupción 9). Y luego terminar el programa dejandolo en memoria (programación de TSR...) Hay información sobre eso en el libro electrónico "El Universo Ditigal" disponible en Internet (buscalo con Google). Pero quiero recordar que estaba enfocado principalmente a ensamblador.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Hacer que un programa se ejecute en segundo pla

Publicado por fernando.gomez (61 intervenciones) el 04/02/2003 19:25:54
Googol tiene razon en cuanto a Windows.

sin embargo, te recomiendo que utilices MFC en vez de la API. Tienes que crear un hilo, creando una clase que derive de CThread. Puedes utilizar varios y para administrarlos, utiliza CSemaphore.

mas informacion sobre estas clases, visita www.msdn.microsoft.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Hacer que un programa se ejecute en segundo pla

Publicado por Googol (255 intervenciones) el 05/02/2003 00:05:11
Mmm...... pero ¿para qué necesitas hebras?
Al fin y al cabo la aplicación lo único que tiene que hacer a "alto nivel" es:

-Inicialización varia (creación de fichero de salida, o lo que sea).
-Registrar el Hook. Es decir indicar a Windows que le avise cada vez que se pulse una tecla
-Repetir mientras no haya que terminar el programa.
-Quedarse a la espera hasta que Windows avise de una pulsación.
-Almacenar la pulsación

-Hay que salir. Desregistrar el hook, y cerrar (almacenar el fichero, etc.).

En principio para algo así no se necesitan hebras...

Un saludo

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar