[KBSWITCH]

- Hackfix detecting keyboard layout switching

* Now when hotkeys switching layouts icon changes

svn path=/trunk/; revision=72175
This commit is contained in:
Dmitry Chapyshev 2016-08-09 21:41:05 +00:00
parent 0b589c107d
commit fcb6eaa8cc

View file

@ -12,6 +12,7 @@
PKBSWITCHSETHOOKS KbSwitchSetHooks = NULL; PKBSWITCHSETHOOKS KbSwitchSetHooks = NULL;
PKBSWITCHDELETEHOOKS KbSwitchDeleteHooks = NULL; PKBSWITCHDELETEHOOKS KbSwitchDeleteHooks = NULL;
UINT ShellHookMessage = 0;
static BOOL static BOOL
@ -524,6 +525,12 @@ WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
break; break;
} }
if (Message == ShellHookMessage && wParam == HSHELL_LANGUAGE)
{
PostMessage(hwnd, WM_LANG_CHANGED, wParam, lParam);
return 0;
}
return DefWindowProc(hwnd, Message, wParam, lParam); return DefWindowProc(hwnd, Message, wParam, lParam);
} }
@ -533,6 +540,7 @@ _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPTSTR lpCmdLine, INT nCmdSh
WNDCLASS WndClass = {0}; WNDCLASS WndClass = {0};
MSG msg; MSG msg;
HANDLE hMutex; HANDLE hMutex;
HWND hwnd;
switch (GetUserDefaultUILanguage()) switch (GetUserDefaultUILanguage())
{ {
@ -573,7 +581,9 @@ _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPTSTR lpCmdLine, INT nCmdSh
return 1; return 1;
} }
CreateWindow(szKbSwitcherName, NULL, 0, 0, 0, 1, 1, HWND_DESKTOP, NULL, hInstance, NULL); hwnd = CreateWindow(szKbSwitcherName, NULL, 0, 0, 0, 1, 1, HWND_DESKTOP, NULL, hInstance, NULL);
ShellHookMessage = RegisterWindowMessage(L"SHELLHOOK");
RegisterShellHookWindow(hwnd);
while(GetMessage(&msg,NULL,0,0)) while(GetMessage(&msg,NULL,0,0))
{ {