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