tasten hooken



  • gut danke so habe ich es mir vorgestellt 😃



  • geht doch nicht so wie ich will 😕
    wenn der focus auf einem anderen fenster is geht es nicht.
    Am anfang ging es irgendwie



  • Versuchs mal mit GetAsyncKeyState().



  • hm geht auch nur wenn mein programm im vordergrund ist 😕



  • nö, bei mir gehts auch so.



  • dann poste bitte mal dein stück code



  • Ups, hatte auch nur den ersten Teil deines ersten beitrages durchgelesen, PreTranselateMessage() funzt so weit ich weiss auch nur wenn, der Focus auf deinem Programm liegt



  • ne bei onhotkey gehts 😕
    ich habe jetzt immer noch keine lösunge :((



  • Ist ein konsolenprogramm, must du dir also erst noch ein bischen abändern:

    #include <iostream.h>
    #include <windows.h>
    
    void key(int *ScanCode, BOOL *own);
    
    void main(void)
    {
    
        for (;;)
        {
            int scan = 0;
            BOOL down = FALSE;
            key(&scan,&down);
            if (scan != 0)
            {
                if (down == TRUE)
                    cout << "Taste: " << (char)scan << " gedrueckt"  << endl;
                else
                    cout << "Taste: " << (char)scan << " losgelassen" << endl;
    
            }
    
        }
    
    }
    
    void key(int *ScanCode, BOOL *own)
    {
        BOOL down[256];
        for (int i=0;i<256;i++)
        {
            down[i] = 0;
        }
        static BOOL old[256] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
    
            for (i=0;i<256;i++)
            {
                SHORT ret = GetAsyncKeyState(i);
                if (ret != 0)
                    down[i] = TRUE;
                else
                    down[i] = FALSE;
    
            }
    
            for (i=0;i<256;i++)
            {
                if (old[i] != down[i])
                {
    
                    *own = down[i];
                    *ScanCode = i;
                    for (i=0;i<256;i++)
                        old[i] = down[i];
                    return;
    
                }
            }
    }
    

    [ Dieser Beitrag wurde am 03.05.2003 um 21:44 Uhr von newvet editiert. ]



  • das mit dem abändern sagst du echt dem richtigen
    vieleicht schaffe ich das in paar jahren 😃



  • kann mir das bitte mal jemand so umschreiben das ich es bei meiner
    dialog anwendung geht :/?


Anmelden zum Antworten