Check SPI_GETKEYBOARDCUES to find out if we should process WM_CHANGEUISTATE and WM_UPDATEUISTATE

svn path=/trunk/; revision=30612
This commit is contained in:
Thomas Bluemel 2007-11-21 08:43:20 +00:00
parent d77503dadb
commit 6e7848434b

View file

@ -1618,9 +1618,16 @@ User32DefWindowProc(HWND hWnd,
case WM_CHANGEUISTATE: case WM_CHANGEUISTATE:
{ {
BOOL AlwaysShowCues = TRUE;
WORD Action = LOWORD(wParam); WORD Action = LOWORD(wParam);
WORD Flags = HIWORD(wParam); WORD Flags = HIWORD(wParam);
PWINDOW Wnd = ValidateHwnd(hWnd); PWINDOW Wnd;
SystemParametersInfoW(SPI_GETKEYBOARDCUES, 0, &AlwaysShowCues, 0);
if (AlwaysShowCues)
break;
Wnd= ValidateHwnd(hWnd);
if (!Wnd || lParam != 0) if (!Wnd || lParam != 0)
break; break;
@ -1693,9 +1700,16 @@ User32DefWindowProc(HWND hWnd,
case WM_UPDATEUISTATE: case WM_UPDATEUISTATE:
{ {
BOOL Change = TRUE; BOOL Change = TRUE;
BOOL AlwaysShowCues = TRUE;
WORD Action = LOWORD(wParam); WORD Action = LOWORD(wParam);
WORD Flags = HIWORD(wParam); WORD Flags = HIWORD(wParam);
PWINDOW Wnd = ValidateHwnd(hWnd); PWINDOW Wnd;
SystemParametersInfoW(SPI_GETKEYBOARDCUES, 0, &AlwaysShowCues, 0);
if (AlwaysShowCues)
break;
Wnd = ValidateHwnd(hWnd);
if (!Wnd || lParam != 0) if (!Wnd || lParam != 0)
break; break;