Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
56
Src/Plugins/General/gen_hotkeys/HOTKEY.CPP
Normal file
56
Src/Plugins/General/gen_hotkeys/HOTKEY.CPP
Normal file
|
@ -0,0 +1,56 @@
|
|||
// HotKey.cpp: implementation of the CHotKey class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "gen_hotkeys.h"
|
||||
#include "HotKey.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Registration / Unregstration
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
int RegisterHotkey(HOTKEY *hk)
|
||||
{
|
||||
if (!hk) return 1;
|
||||
|
||||
wchar_t atomName[1024] = {0};
|
||||
bool unicode = 0;
|
||||
char* name = GetCommandName(hk->hkd.iCommand, &unicode);
|
||||
StringCchPrintfW(atomName, 1024, (unicode?L"%s %X %X %X":L"%hs %X %X %X"), name, hk->hkd.dwHotKey, hk->hkd.iCommand, GetTickCount());
|
||||
hk->atom = GlobalAddAtomW(atomName);
|
||||
if (!hk->atom)
|
||||
return 1;
|
||||
|
||||
return !RegisterHotKey(psPlugin.hwndParent, hk->atom, GetModKeys(hk->hkd.dwHotKey), LOBYTE(hk->hkd.dwHotKey));
|
||||
}
|
||||
|
||||
void UnregisterHotkey(HOTKEY *hk)
|
||||
{
|
||||
if (!hk || !hk->atom)
|
||||
return;
|
||||
|
||||
UnregisterHotKey(psPlugin.hwndParent, hk->atom);
|
||||
GlobalDeleteAtom(hk->atom);
|
||||
hk->atom = NULL;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Set / Get
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
UINT GetModKeys(DWORD dwHotKey)
|
||||
{
|
||||
UINT result = 0;
|
||||
WORD wHotKey = HIBYTE(dwHotKey);
|
||||
|
||||
if (wHotKey & HOTKEYF_ALT)
|
||||
result |= MOD_ALT;
|
||||
if (wHotKey & HOTKEYF_CONTROL)
|
||||
result |= MOD_CONTROL;
|
||||
if (wHotKey & HOTKEYF_WIN)
|
||||
result |= MOD_WIN;
|
||||
if (wHotKey & HOTKEYF_SHIFT)
|
||||
result |= MOD_SHIFT;
|
||||
|
||||
return result;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue