Hoe keyboardbuffer legen?

Status
Niet open voor verdere reacties.

NinYes

Gebruiker
Lid geworden
14 jul 2006
Berichten
18
Hi allen,

Ik ben bezig met een programmaatje wat wanneer er bijvoorbeeld
CTRL + F7 + 2
ingedrukt wordt, een code uitvoerd.
Ik heb dit gemaakt met GetAsyncKeyState, maar het probleem is dat wanneer er bijvoorbeeld notepad open staat, je de invoer "2" toch krijgt.
Ik heb dit vooralsnog opgelost met
SendKeys.Send(Chr(8))
maar netjes is anders.
Weet iemand een manier om je keyboardbuffer te legen, voordat er daadwerkelijk een uitvoer naar het scherm komt?

(VB2008)
 
Schijnt volgens google met PeekMessage te kunnen. maar daar hangt zo'n bulk code aan..... En ik hoef alleen maar de buffer te "flushen"?
 
Bedoel je de .net keyEvent of effectief de windows keybuffer?
 
Hi,

Ik bedoelde idd de windows buffer.
Maar ik ben na een paar dagen googlen aan het experimenteren met een keyboard-hook, en dat gaat denk ik beter lukken.
De GetAsyncKeyState werkt bij mij namelijk niet zo goed. Kan zijn dat mijn besturingssysteem de schuldige is. (Vista64 ulti.) De .exe builden gaat namelijk ook fout, terwijl onder XP32 de zelfde code wel goed doet builden.
Dus ik denk dat ik de hook probeer. Indien ik alsnog terug moet vallen op een flush voor de buffer, laat ik het nog wel weten.

Groetjes.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan