How do I prevent my registered hotkey from firing repeatedly due to auto-repeat?

Raymond Chen

You can register a global hotkey with the Register­Hot­Key function, but one problem many people have is that if the user presses and holds the hotkey sequence, the hotkey will be invoked as fast as auto-repeat will let it. For some types of hotkeys, this is not desirable. How do you prevent this?

Starting in Windows 7, you can pass the MOD_NO­REPEAT flag to the Register­Hot­Key function to tell it not to generate WM_HOT­KEY messages if the hotkey activation sequences was triggered by autorepeat.

The initial press of the hotkey will generate a WM_HOT­KEY message, but the auto-repeats will not.


Discussion is closed.

Feedback usabilla icon