Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - juas juas juas

#1
Bueno creo que ya te entiendo (que ya era hora, eh) y mas o menos lo que tu quieres es algo como esto


#include <stdio.h>
#include <windows.h>

int main()
{
    int lain,i=0;

    do
    {
        while(GetAsyncKeyState(VK_SHIFT))
        {
            lain=GetAsyncKeyState(65);
            if(lain!=0)
                printf("Estas pulsando Shift-a\n");
        }
    }while(1);
    return 0;
}


Por cierto, si lo que estas haciendo es un keylogger igual deberias de pensar en otra cosa y no en un while ejecutandose hasta el fin de los tiempos ya que te cargara mogollon la cpu. Busca algo de informacion sobre "semaforos en c", yo que en linux es posible pero en windows no lo se. Con esto el programa se mantendra a la espera y no cargaras tanto la cpu.
#2
A ver, para mi te estas liando mucho (o eso o no te entiendo lo que quieres hacer).

Te pongo un codigo simple para reconocer mayusculas y minusculas introducidas por teclado:


#include <stdio.h>

int main()
{
    char tecla;
    printf("introduce una letra:\n");
    tecla=getche();
    if(tecla>=97 && tecla<=122)
    {
         printf("\nEs minuscula\n");
         // Aqui guardas en fichero o haces lo que quieras
    }
    if(tecla>=65 && tecla<=90)
    {
         printf("\nEs mayuscula\n");
         // Aqui tambien guardas en fichero o lo que te apetezca
    }
    fflush(stdin);
    getche();
    return 0;
}


Yo creo que esto es lo que andas buscando, pero te estas liando bastante llamando a librerias que no necesitarias (cuanto mas simple sea el programa, mejor) porque si solo quieres saber si introducen mayusculas o minusculas es simple, pero si quieres saber si la tecla shift esta pulsada o no eso ya es otro asunto.
#3
La mejor manera que tienes para hacer eso es capturar una a una las pulsaciones del teclado (con getch o algo de ese estilo), y luego mirar el caracter ascii y comprobar a si esta entre el 65 y 90 es mayuscula y si esta entre 97 y 122 estonces es una minuscula. Cada vez que vayas leyendo vas guardando en la memoria y en un momento determinado vuelcas al fichero, y asi no estas grabando en el fichero continuamente.

Espero que te ayude.