开发者

Non Blocking Keyboard on WinCE accessing the virtual keyboard

I am desperately looking for a solution that enables me to read keyboard events in a non blocking way. These Keyboard events are generated by a VIRTUAL KEYBOARD that comes with the WinCE device. I have a console application running in C++, where the user is asked to navigate via 'ESC', 'U' and other characters through the menu. I first tried to use fread and stdin and realised that it is blocking call and waits for a carriage return. Then I tried to hook up to the windows message WM_KEYUP, but I never recieve this windows message. Fu开发者_Python百科rthermore I tried to use QtGUI together with the event QKeyEvent, but I never recieve any event. I wonder if it is in general possible to recieve non-blocking keyboard events on a WinCE device. I would be glad if you have any suggestions!

Cheers, Jan


GetAynchKeyState will read the state of the entire (virtual) keyboard. Alternatively, you can pass a handle to the console to WaitForSingleObject, with timeout of 0 milliseconds. This will always return immediately, but the return value will tell you whether the keyboard has input waiting -- if it returns with the timeout expired, there's not. If it returns WAIT_OBJECT_0, there is input waiting to be read. As yet another alternative, there's also GetNumberOfConsoleInputEvents, which tells you how much input is waiting to be read.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜