Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Leer de teclado sin esperar

Estas en el tema de Leer de teclado sin esperar en el foro de C/C++ en Foros del Web. Hola a todos, estoy buscando una funcion en C que me permita leer un caracter de teclado pero que no se quede esperando hasta que ...
  #1 (permalink)  
Antiguo 31/01/2008, 08:27
 
Fecha de Ingreso: enero-2008
Mensajes: 3
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Leer de teclado sin esperar

Hola a todos, estoy buscando una funcion en C que me permita leer un caracter de teclado pero que no se quede esperando hasta que pulse una tecla (como getch() o scanf()).

¿Sabeis si hay alguna funcion que permitar hacerlo?. De no ser asi ¿Conoceis alguna condicion para una sentencia alternativa (if, else...) o para algun bucle que me permita hacer eso?
  #2 (permalink)  
Antiguo 31/01/2008, 09:19
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Re: Leer de teclado sin esperar

¿Qué quieres hacer específicamente? ¿en que SO? porque me da la impresión de que lo que planteas es algo específico del SO.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #3 (permalink)  
Antiguo 31/01/2008, 10:02
 
Fecha de Ingreso: enero-2008
Mensajes: 11
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: Leer de teclado sin esperar

Yo en windows cuando hago keyloggers utilizo
Código:
if(GetAsyncKeyState(nombre_vble)==OK)
y OK definido así
Código:
#define OK -32767
a mi hasta ahora me ha ido bien salvo porque consume bastante cpu pero lo pones un nombre que acojone como rundll y a ver quien lo quita,jeje

Espero haber servido de ayuda
  #4 (permalink)  
Antiguo 31/01/2008, 10:15
 
Fecha de Ingreso: enero-2008
Mensajes: 17
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Leer de teclado sin esperar

Una forma sencilla de hacerlo es mediante la función kbhit (), que retorna true si ha recibido pulsación de teclado:

do{
if (kbhit ()){
caracter=getch ();
// en cararter tenemos el caracter pulsado
}
} while ();
  #5 (permalink)  
Antiguo 31/01/2008, 14:21
 
Fecha de Ingreso: enero-2008
Mensajes: 3
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Leer de teclado sin esperar

Muchisimas gracias M_Corleone, es justo lo que necesitaba
  #6 (permalink)  
Antiguo 31/01/2008, 15:31
 
Fecha de Ingreso: enero-2008
Mensajes: 17
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Leer de teclado sin esperar

Nada hombre, para eso estamos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:01.