Como capturar a tecla Ctrl + Ctrl pressiona meu aplicativo Win32?
-
19-09-2019 - |
Pergunta
Como eu capturaria o usuário pressionando Ctrl duas vezes (Ctrl + Ctrl) globalmente. Eu quero poder esconder minha janela de aplicativo e depois torná -la visível quando o usuário invoca com o CtrlCtrl A tecla pressiona semelhante à caixa de pesquisa rápida do Google. O usuário pode ter foco em uma janela diferente. Eu olhei para o RegisterHotkey, mas isso parece ser para MODIFIERS + character key
A menos que eu esteja enganado.
Solução
To create such a hotkey, do this:
ATOM hotkey = GlobalAddAtom("Your hotkey atom name");
if(hotkey) RegisterHotKey(hwnd, hotkey, MOD_CONTROL, VK_CONTROL);
else { ...error... }
And then handle the WM_HOTKEY
message:
case WM_HOTKEY:
if(wParam == hotkey)
{
// CTRL pressed!!!
}
break;
I guess you'll figure out yourself that you need to store whether the CTRL key was pressed before. For example, if it was pressed once in the last 500 ms, and the user presses it again, you have a CTRL+CTRL press.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow