c ++ - Keyevent i Windows

Indlæg af Hanne Mølgaard Plasc

Problem



er det muligt at få en begivenhed til tryk på nøglen i Windows (XP)? Jeg har en tråd, den har et stykke tid (1) -loop, og jeg udskriver nogle data der. Det skal synkronisere det, hvorfor jeg bruger WaitForMultipleObjects (2 events, FALSE, INFINITE);
begivenheder er en række håndtag og den indeholder 2 håndtag. En af dem er en begivenhed fra den anden tråd, der signalerer, at serveren fik en ny besked, og den anden skal signalere mig, at brugeren trykte på en tast (1-7). Hvordan kan jeg få det andet håndtag/begivenhed?

Bedste reference


Du søger efter MsgWaitForMultipleObjects. Dette kan også hente beskeder, f.eks. WM\_KEYDOWN. Du behøver ikke en HANDLE til vigtige begivenheder.

Andre referencer 1


Du er nødt til at implementere en meddelelsessløjfe for at lytte til WM\_KEYDOWN eller WM\_KEYUP. Så skal du ringe til den passende metode.

Andre referencer 2


I dit program skal du have en trådhåndteringshændelse, der kommer til dit program, såsom tastatur, mus osv. I den tråd kan du registrere, om en tastaturhændelse trykker på eller frigiver den nøgle, du er interesseret i at ankomme. Hvis ja, signalerer du din anden tråd.