Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/11/2011, 17:41
kevinvgp
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Ubicación: Casupá, Florida, Uruguay
Mensajes: 70
Antigüedad: 12 años, 7 meses
Puntos: 4
Pregunta Captar teclas que presiona el usuario

lo que quiero hacer es que mi programa sume +1 a una variable todo el rato, sin parar, por la eternidad se este sumando +1 a la variable "contador"
pero si el usuario presiona una tecla X por ejemplo, si el usuario presiona F4
se deje de sumar +1 a esa variable y que si apreto F3 se siga sumando..
bueno lo intenté de esta forma:

Código C++:
Ver original
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <stdio.h>
  4. #include <string>
  5. using namespace std;
  6.  
  7. int main(int argc, char *argv[])
  8. {
  9.     int i;
  10.     int letra;
  11.     letra = getchar();
  12.     cout<<"--------"<<endl;
  13.     if(letra==57)
  14.         {
  15.         cout<<"hola, apretaste 9"<<endl;
  16.         }
  17.         else if(letra==56)
  18.         {
  19.         cout<<"hola, apretaste 8"<<endl;
  20.         }
  21.     cout<<endl<<"la letra que ingresaste es : ";
  22.     putchar(letra);
  23.     cout<<" y se indentifica con el codekey "<<letra<<endl;
  24.     cout<<endl;
  25.     system("PAUSE");
  26.     return EXIT_SUCCESS;
  27. }
no sabia que hacia en getchar(); asi que para probarlo hise esto que lo que hace esque si apretas 9 te dice "hola apretaste 9" y abajo te dice de nuevo, letra o numero que ingresaste y cual es su codekey, hace lo mismo si apretas 8,
y si apretas una letra o numero que no sea ni 9 ni 8 solo te dice que fue lo que apretaste y cual es su codekey, bueno eso no tiene nada que ver con lo que dije antes del contador y sumar +1 todo el rato ya que aquello era solo un ejemplo, yo solo quiero saber como reconocer teclas que el usuario aprete pero este metodo no me sirbe
porque lo que hace eso es que si escribes tal tecla en la consola Y APRETAS ENTER el programa hace una cosa y sino otra,
pero lo que yo quiero esque el programa "capte" esas 2 teclas independientemente de si el usuario está o no usando el programa, osea que esté en ejecucion pero que no nesesariamente el usuario "tenga seleccionada la ventana de mi programa", que el programa este atento continuamente y si el usuario presiona 9 sin que tenga que escribirlo en la consola ni apretar enter

toda la otra parte del programa ya la tengo y funciona correctamente pero tengo que añadirle un stop y un play por decirlo de alguna forma, para que no esté continuamente ejecutando su funcion,porque lo que tengo de momento esque se ejecuta por un tiempo que el usuario define antes de empezar a realizar la funcion del programa, pero eso no es tan comodo como activarlo con 9 y desactivarlo con la tecla 8,
nesesito hacer esto para un programa de macros que hace click automaticamente, y que el usuario lo desactive con la tecla "8" y lo active con "9";
XDD me acabo de dar cuenta de que puse un ";" en ves de un punto "." para terminar el parrafo me estoy traumando, tengo 16 años, hace 2 o 3 semanas empezé con c++, esta noche me acuesto y sueño con las variables y las funciones y el getchar jajaja

bueno si alguien me puede ayudar, pues le agradeceria muchisimo xD ya que nisiquiera se si c++ puede "captar" esas dos teclas o cualquier otra sin que el usuario las escriba en mi programa y presione enter,
creo que con algunas librerias multimedia se puede, pero si puediera hacerlo sin ellas mucho mejor.

Última edición por kevinvgp; 20/11/2011 a las 18:22