ReactOS 0.4.16-dev-1537-g4e425b5
kbswitch.h
Go to the documentation of this file.
1#pragma once
2
3#include <stdlib.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#include <ime/indicml.h> /* INDICATOR_CLASS, INDICM_... */
14
15#include "resource.h"
16#include "indicdll/resource.h"
17
18#define CCH_LAYOUT_ID 8 // Character Count of a layout ID like "00000409"
19#define CCH_ULONG_DEC 10 // Maximum Character Count of a ULONG in decimal
20
21// Far East Language IDs
22#define LANGID_CHINESE_SIMPLIFIED MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED)
23#define LANGID_CHINESE_TRADITIONAL MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL)
24#define LANGID_JAPANESE MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT)
25#define LANGID_KOREAN MAKELANGID(LANG_KOREAN, SUBLANG_DEFAULT)
26
27#define WM_LANG_CHANGED (WM_USER + 10200)
28#define WM_WINDOW_ACTIVATE (WM_USER + 10300)
29
30#define IME_STATUS_NO_IME 0
31#define IME_STATUS_IME_CLOSED 1
32#define IME_STATUS_IME_OPEN 2
33#define IME_STATUS_IME_NATIVE 4
34#define IME_STATUS_IME_FULLSHAPE 8
35
36static inline BOOL
37IsWndClassName(_In_opt_ HWND hwndTarget, PCTSTR pszName)
38{
39 TCHAR szClass[32];
40 GetClassName(hwndTarget, szClass, _countof(szClass));
41 return lstrcmpi(szClass, pszName) == 0;
42}
43
44static inline BOOL
46{
47 return IsWndClassName(hwndTarget, TEXT("ConsoleWindowClass"));
48}
unsigned int BOOL
Definition: ntddk_ex.h:94
#define TEXT(s)
Definition: k32.h:28
static BOOL IsConsoleWnd(_In_opt_ HWND hwndTarget)
Definition: kbswitch.h:45
static BOOL IsWndClassName(_In_opt_ HWND hwndTarget, PCTSTR pszName)
Definition: kbswitch.h:37
#define _In_opt_
Definition: no_sal2.h:212
LPCSTR PCTSTR
Definition: ntbasedef.h:500
#define _countof(array)
Definition: sndvol32.h:70
#define lstrcmpi
Definition: winbase.h:3914
#define GetClassName
Definition: winuser.h:5894
char TCHAR
Definition: xmlstorage.h:189