Aaron de Windt
Aaron de Windt

Reputation: 17708

If I send a WM_KEYDOWN message (using wndproc) will the computer hold the key down until I send WM_KEYUP?

I am looking for a solution to programmatically hold a keyboard key down during some time (I don't know how many time).

I think that if I send a WM_KEYDOWN message the key will be held down until WM_KEYUP is send, but I am not sure.

I would test it. But I need to go and I don't have much time. I want to see if someone already tested this.

Here is an other question I posted, related to this one.
I want to make a virtual keyboard. Do I need to send WM_KEYDOWN to the current active window or HWND_BROADCAST?

Upvotes: 1

Views: 2468

Answers (2)

Michael
Michael

Reputation: 55425

WM_KEYDOWN and WM_KEYUP are messages generated by the system - it's dependent on how the application interprets those messages. Synthesizing these messages will have no effect on the actual keyboard state.

If you want to simulate keyboard input, use the SendInput API.

Upvotes: 0

Paulo Santos
Paulo Santos

Reputation: 11577

No, because If you examine the messages sent when using the keyboard, you'll see that the message are as follow:

WM_KEYDOWN
WM_KEYPRESS
WM_KEYUP

The WM_KEYPRESS message is sent every couple of ticks (depending on the keyboard configuration).

Upvotes: 2

Related Questions