1 #pragma once
2 
3 #include <stdarg.h>
4 #include <windef.h>
5 #include <winbase.h>
6 #include <winuser.h>
7 #include <winnls.h>
8 #include <winreg.h>
9 #include <wingdi.h>
10 #include <shellapi.h>
11 #include <tchar.h>
12 #include <strsafe.h>
13 
14 #include "resource.h"
15 
16 // Character Count of a layout ID like "00000409"
17 #define CCH_LAYOUT_ID    8
18 
19 // Maximum Character Count of a ULONG in decimal
20 #define CCH_ULONG_DEC    10
21 
22 #define WM_KEY_PRESSED     (WM_USER + 10100)
23 #define WM_LANG_CHANGED    (WM_USER + 10200)
24 #define WM_WINDOW_ACTIVATE (WM_USER + 10300)
25 
26 typedef BOOL (WINAPI *PKBSWITCHSETHOOKS) (VOID);
27 typedef VOID (WINAPI *PKBSWITCHDELETEHOOKS) (VOID);
28 
29 TCHAR szKbSwitcherName[] = _T("kbswitcher");
30