| 1 | #ifndef _IMM_H | 
 
 
 
 
 | 2 | #define _IMM_H | 
 
 
 
 
 | 3 | #if __GNUC__ >=3 | 
 
 
 
 
 | 4 | #pragma GCC system_header | 
 
 
 
 
 | 5 | #endif | 
 
 
 
 
 | 6 |  | 
 
 
 
 
 | 7 | #ifdef __cplusplus | 
 
 
 
 
 | 8 | extern "C" { | 
 
 
 
 
 | 9 | #endif | 
 
 
 
 
 | 10 | #define WM_CONVERTREQUESTEX 0x108 | 
 
 
 
 
 | 11 | #define WM_IME_STARTCOMPOSITION 0x10D | 
 
 
 
 
 | 12 | #define WM_IME_ENDCOMPOSITION 0x10E | 
 
 
 
 
 | 13 | #define WM_IME_COMPOSITION 0x10F | 
 
 
 
 
 | 14 | #define WM_IME_KEYLAST 0x10F | 
 
 
 
 
 | 15 | #define WM_IME_SETCONTEXT 0x281 | 
 
 
 
 
 | 16 | #define WM_IME_NOTIFY 0x282 | 
 
 
 
 
 | 17 | #define WM_IME_CONTROL 0x283 | 
 
 
 
 
 | 18 | #define WM_IME_COMPOSITIONFULL 0x284 | 
 
 
 
 
 | 19 | #define WM_IME_SELECT 0x285 | 
 
 
 
 
 | 20 | #define WM_IME_CHAR 0x286 | 
 
 
 
 
 | 21 | #define WM_IME_KEYDOWN 0x290 | 
 
 
 
 
 | 22 | #define WM_IME_KEYUP 0x291 | 
 
 
 
 
 | 23 | #if (_WIN32_WINNT >= 0x0500) | 
 
 
 
 
 | 24 | #define WM_IME_REQUEST 0x0288 | 
 
 
 
 
 | 25 | #endif | 
 
 
 
 
 | 26 | #define IMC_GETCANDIDATEPOS 7 | 
 
 
 
 
 | 27 | #define IMC_SETCANDIDATEPOS 8 | 
 
 
 
 
 | 28 | #define IMC_GETCOMPOSITIONFONT 9 | 
 
 
 
 
 | 29 | #define IMC_SETCOMPOSITIONFONT 10 | 
 
 
 
 
 | 30 | #define IMC_GETCOMPOSITIONWINDOW 11 | 
 
 
 
 
 | 31 | #define IMC_SETCOMPOSITIONWINDOW 12 | 
 
 
 
 
 | 32 | #define IMC_GETSTATUSWINDOWPOS 15 | 
 
 
 
 
 | 33 | #define IMC_SETSTATUSWINDOWPOS 16 | 
 
 
 
 
 | 34 | #define IMC_CLOSESTATUSWINDOW 0x21 | 
 
 
 
 
 | 35 | #define IMC_OPENSTATUSWINDOW 0x22 | 
 
 
 
 
 | 36 | #define IMN_CLOSESTATUSWINDOW 1 | 
 
 
 
 
 | 37 | #define IMN_OPENSTATUSWINDOW 2 | 
 
 
 
 
 | 38 | #define IMN_CHANGECANDIDATE 3 | 
 
 
 
 
 | 39 | #define IMN_CLOSECANDIDATE 4 | 
 
 
 
 
 | 40 | #define IMN_OPENCANDIDATE 5 | 
 
 
 
 
 | 41 | #define IMN_SETCONVERSIONMODE 6 | 
 
 
 
 
 | 42 | #define IMN_SETSENTENCEMODE 7 | 
 
 
 
 
 | 43 | #define IMN_SETOPENSTATUS 8 | 
 
 
 
 
 | 44 | #define IMN_SETCANDIDATEPOS 9 | 
 
 
 
 
 | 45 | #define IMN_SETCOMPOSITIONFONT 10 | 
 
 
 
 
 | 46 | #define IMN_SETCOMPOSITIONWINDOW 11 | 
 
 
 
 
 | 47 | #define IMN_SETSTATUSWINDOWPOS 12 | 
 
 
 
 
 | 48 | #define IMN_GUIDELINE 13 | 
 
 
 
 
 | 49 | #define IMN_PRIVATE 14 | 
 
 
 
 
 | 50 | #define NI_OPENCANDIDATE 16 | 
 
 
 
 
 | 51 | #define NI_CLOSECANDIDATE 17 | 
 
 
 
 
 | 52 | #define NI_SELECTCANDIDATESTR 18 | 
 
 
 
 
 | 53 | #define NI_CHANGECANDIDATELIST 19 | 
 
 
 
 
 | 54 | #define NI_FINALIZECONVERSIONRESULT 20 | 
 
 
 
 
 | 55 | #define NI_COMPOSITIONSTR 21 | 
 
 
 
 
 | 56 | #define NI_SETCANDIDATE_PAGESTART 22 | 
 
 
 
 
 | 57 | #define NI_SETCANDIDATE_PAGESIZE 23 | 
 
 
 
 
 | 58 | #define NI_IMEMENUSELECTED 24 | 
 
 
 
 
 | 59 | #define ISC_SHOWUICANDIDATEWINDOW 1 | 
 
 
 
 
 | 60 | #define ISC_SHOWUICOMPOSITIONWINDOW 0x80000000 | 
 
 
 
 
 | 61 | #define ISC_SHOWUIGUIDELINE 0x40000000 | 
 
 
 
 
 | 62 | #define ISC_SHOWUIALLCANDIDATEWINDOW 15 | 
 
 
 
 
 | 63 | #define ISC_SHOWUIALL 0xC000000F | 
 
 
 
 
 | 64 | #define CPS_COMPLETE 1 | 
 
 
 
 
 | 65 | #define CPS_CONVERT 2 | 
 
 
 
 
 | 66 | #define CPS_REVERT 3 | 
 
 
 
 
 | 67 | #define CPS_CANCEL 4 | 
 
 
 
 
 | 68 | #define IME_CHOTKEY_IME_NONIME_TOGGLE 16 | 
 
 
 
 
 | 69 | #define IME_CHOTKEY_SHAPE_TOGGLE 17 | 
 
 
 
 
 | 70 | #define IME_CHOTKEY_SYMBOL_TOGGLE 18 | 
 
 
 
 
 | 71 | #define IME_JHOTKEY_CLOSE_OPEN 0x30 | 
 
 
 
 
 | 72 | #define IME_KHOTKEY_SHAPE_TOGGLE 0x50 | 
 
 
 
 
 | 73 | #define IME_KHOTKEY_HANJACONVERT 0x51 | 
 
 
 
 
 | 74 | #define IME_KHOTKEY_ENGLISH 0x52 | 
 
 
 
 
 | 75 | #define IME_THOTKEY_IME_NONIME_TOGGLE 0x70 | 
 
 
 
 
 | 76 | #define IME_THOTKEY_SHAPE_TOGGLE 0x71 | 
 
 
 
 
 | 77 | #define IME_THOTKEY_SYMBOL_TOGGLE 0x72 | 
 
 
 
 
 | 78 | #define IME_HOTKEY_DSWITCH_FIRST 256 | 
 
 
 
 
 | 79 | #define IME_HOTKEY_DSWITCH_LAST 0x11F | 
 
 
 
 
 | 80 | #define IME_ITHOTKEY_RESEND_RESULTSTR 512 | 
 
 
 
 
 | 81 | #define IME_ITHOTKEY_PREVIOUS_COMPOSITION 513 | 
 
 
 
 
 | 82 | #define IME_ITHOTKEY_UISTYLE_TOGGLE 514 | 
 
 
 
 
 | 83 | #define GCS_COMPREADSTR 1 | 
 
 
 
 
 | 84 | #define GCS_COMPREADATTR 2 | 
 
 
 
 
 | 85 | #define GCS_COMPREADCLAUSE 4 | 
 
 
 
 
 | 86 | #define GCS_COMPSTR 8 | 
 
 
 
 
 | 87 | #define GCS_COMPATTR 16 | 
 
 
 
 
 | 88 | #define GCS_COMPCLAUSE 32 | 
 
 
 
 
 | 89 | #define GCS_CURSORPOS 128 | 
 
 
 
 
 | 90 | #define GCS_DELTASTART 256 | 
 
 
 
 
 | 91 | #define GCS_RESULTREADSTR 512 | 
 
 
 
 
 | 92 | #define GCS_RESULTREADCLAUSE 1024 | 
 
 
 
 
 | 93 | #define GCS_RESULTSTR 2048 | 
 
 
 
 
 | 94 | #define GCS_RESULTCLAUSE 4096 | 
 
 
 
 
 | 95 | #define CS_INSERTCHAR 0x2000 | 
 
 
 
 
 | 96 | #define CS_NOMOVECARET 0x4000 | 
 
 
 
 
 | 97 | #define IMEVER_0310 0x3000A | 
 
 
 
 
 | 98 | #define IMEVER_0400 0x40000 | 
 
 
 
 
 | 99 | #define IME_PROP_AT_CARET 0x10000 | 
 
 
 
 
 | 100 | #define IME_PROP_SPECIAL_UI 0x20000 | 
 
 
 
 
 | 101 | #define IME_PROP_CANDLIST_START_FROM_1 0x40000 | 
 
 
 
 
 | 102 | #define IME_PROP_UNICODE 0x80000 | 
 
 
 
 
 | 103 | #define UI_CAP_2700 1 | 
 
 
 
 
 | 104 | #define UI_CAP_ROT90 2 | 
 
 
 
 
 | 105 | #define UI_CAP_ROTANY 4 | 
 
 
 
 
 | 106 | #define SCS_CAP_COMPSTR 1 | 
 
 
 
 
 | 107 | #define SCS_CAP_MAKEREAD 2 | 
 
 
 
 
 | 108 | #define SELECT_CAP_CONVERSION 1 | 
 
 
 
 
 | 109 | #define SELECT_CAP_SENTENCE 2 | 
 
 
 
 
 | 110 | #define GGL_LEVEL 1 | 
 
 
 
 
 | 111 | #define GGL_INDEX 2 | 
 
 
 
 
 | 112 | #define GGL_STRING 3 | 
 
 
 
 
 | 113 | #define GGL_PRIVATE 4 | 
 
 
 
 
 | 114 | #define GL_LEVEL_NOGUIDELINE 0 | 
 
 
 
 
 | 115 | #define GL_LEVEL_FATAL 1 | 
 
 
 
 
 | 116 | #define GL_LEVEL_ERROR 2 | 
 
 
 
 
 | 117 | #define GL_LEVEL_WARNING 3 | 
 
 
 
 
 | 118 | #define GL_LEVEL_INFORMATION 4 | 
 
 
 
 
 | 119 | #define GL_ID_UNKNOWN 0 | 
 
 
 
 
 | 120 | #define GL_ID_NOMODULE 1 | 
 
 
 
 
 | 121 | #define GL_ID_NODICTIONARY 16 | 
 
 
 
 
 | 122 | #define GL_ID_CANNOTSAVE 17 | 
 
 
 
 
 | 123 | #define GL_ID_NOCONVERT 32 | 
 
 
 
 
 | 124 | #define GL_ID_TYPINGERROR 33 | 
 
 
 
 
 | 125 | #define GL_ID_TOOMANYSTROKE 34 | 
 
 
 
 
 | 126 | #define GL_ID_READINGCONFLICT 35 | 
 
 
 
 
 | 127 | #define GL_ID_INPUTREADING 36 | 
 
 
 
 
 | 128 | #define GL_ID_INPUTRADICAL 37 | 
 
 
 
 
 | 129 | #define GL_ID_INPUTCODE 38 | 
 
 
 
 
 | 130 | #define GL_ID_INPUTSYMBOL 39 | 
 
 
 
 
 | 131 | #define GL_ID_CHOOSECANDIDATE 40 | 
 
 
 
 
 | 132 | #define GL_ID_REVERSECONVERSION 41 | 
 
 
 
 
 | 133 | #define GL_ID_PRIVATE_FIRST 0x8000 | 
 
 
 
 
 | 134 | #define GL_ID_PRIVATE_LAST 0xFFFF | 
 
 
 
 
 | 135 | #define IGP_GETIMEVERSION (DWORD)(-4) | 
 
 
 
 
 | 136 | #define IGP_PROPERTY 4 | 
 
 
 
 
 | 137 | #define IGP_CONVERSION 8 | 
 
 
 
 
 | 138 | #define IGP_SENTENCE 12 | 
 
 
 
 
 | 139 | #define IGP_UI 16 | 
 
 
 
 
 | 140 | #define IGP_SETCOMPSTR 0x14 | 
 
 
 
 
 | 141 | #define IGP_SELECT 0x18 | 
 
 
 
 
 | 142 | #define SCS_SETSTR (GCS_COMPREADSTR|GCS_COMPSTR) | 
 
 
 
 
 | 143 | #define SCS_CHANGEATTR (GCS_COMPREADATTR|GCS_COMPATTR) | 
 
 
 
 
 | 144 | #define SCS_CHANGECLAUSE (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE) | 
 
 
 
 
 | 145 | #define ATTR_INPUT 0 | 
 
 
 
 
 | 146 | #define ATTR_TARGET_CONVERTED 1 | 
 
 
 
 
 | 147 | #define ATTR_CONVERTED 2 | 
 
 
 
 
 | 148 | #define ATTR_TARGET_NOTCONVERTED 3 | 
 
 
 
 
 | 149 | #define ATTR_INPUT_ERROR 4 | 
 
 
 
 
 | 150 | #define ATTR_FIXEDCONVERTED 5 | 
 
 
 
 
 | 151 | #define CFS_DEFAULT 0 | 
 
 
 
 
 | 152 | #define CFS_RECT 1 | 
 
 
 
 
 | 153 | #define CFS_POINT 2 | 
 
 
 
 
 | 154 | #define CFS_SCREEN 4 | 
 
 
 
 
 | 155 | #define CFS_FORCE_POSITION 32 | 
 
 
 
 
 | 156 | #define CFS_CANDIDATEPOS 64 | 
 
 
 
 
 | 157 | #define CFS_EXCLUDE 128 | 
 
 
 
 
 | 158 | #define GCL_CONVERSION 1 | 
 
 
 
 
 | 159 | #define GCL_REVERSECONVERSION 2 | 
 
 
 
 
 | 160 | #define GCL_REVERSE_LENGTH 3 | 
 
 
 
 
 | 161 | #define IME_CMODE_ALPHANUMERIC 0 | 
 
 
 
 
 | 162 | #define IME_CMODE_NATIVE 1 | 
 
 
 
 
 | 163 | #define IME_CMODE_CHINESE IME_CMODE_NATIVE | 
 
 
 
 
 | 164 | #define IME_CMODE_HANGEUL IME_CMODE_NATIVE | 
 
 
 
 
 | 165 | #define IME_CMODE_HANGUL IME_CMODE_NATIVE | 
 
 
 
 
 | 166 | #define IME_CMODE_JAPANESE IME_CMODE_NATIVE | 
 
 
 
 
 | 167 | #define IME_CMODE_KATAKANA 2 | 
 
 
 
 
 | 168 | #define IME_CMODE_LANGUAGE 3 | 
 
 
 
 
 | 169 | #define IME_CMODE_FULLSHAPE 8 | 
 
 
 
 
 | 170 | #define IME_CMODE_ROMAN 16 | 
 
 
 
 
 | 171 | #define IME_CMODE_CHARCODE 32 | 
 
 
 
 
 | 172 | #define IME_CMODE_HANJACONVERT 64 | 
 
 
 
 
 | 173 | #define IME_CMODE_SOFTKBD 128 | 
 
 
 
 
 | 174 | #define IME_CMODE_NOCONVERSION 256 | 
 
 
 
 
 | 175 | #define IME_CMODE_EUDC 512 | 
 
 
 
 
 | 176 | #define IME_CMODE_SYMBOL 1024 | 
 
 
 
 
 | 177 | #define IME_CMODE_FIXED 2048 | 
 
 
 
 
 | 178 | #define IME_SMODE_NONE 0 | 
 
 
 
 
 | 179 | #define IME_SMODE_PLAURALCLAUSE 1 | 
 
 
 
 
 | 180 | #define IME_SMODE_SINGLECONVERT 2 | 
 
 
 
 
 | 181 | #define IME_SMODE_AUTOMATIC 4 | 
 
 
 
 
 | 182 | #define IME_SMODE_PHRASEPREDICT 8 | 
 
 
 
 
 | 183 | #define IME_CAND_UNKNOWN 0 | 
 
 
 
 
 | 184 | #define IME_CAND_READ 1 | 
 
 
 
 
 | 185 | #define IME_CAND_CODE 2 | 
 
 
 
 
 | 186 | #define IME_CAND_MEANING 3 | 
 
 
 
 
 | 187 | #define IME_CAND_RADICAL 4 | 
 
 
 
 
 | 188 | #define IME_CAND_STROKE 5 | 
 
 
 
 
 | 189 | #define IMM_ERROR_NODATA (-1) | 
 
 
 
 
 | 190 | #define IMM_ERROR_GENERAL (-2) | 
 
 
 
 
 | 191 | #define IME_CONFIG_GENERAL 1 | 
 
 
 
 
 | 192 | #define IME_CONFIG_REGISTERWORD 2 | 
 
 
 
 
 | 193 | #define IME_CONFIG_SELECTDICTIONARY 3 | 
 
 
 
 
 | 194 | #define IME_ESC_QUERY_SUPPORT 3 | 
 
 
 
 
 | 195 | #define IME_ESC_RESERVED_FIRST 4 | 
 
 
 
 
 | 196 | #define IME_ESC_RESERVED_LAST 0x7FF | 
 
 
 
 
 | 197 | #define IME_ESC_PRIVATE_FIRST 0x800 | 
 
 
 
 
 | 198 | #define IME_ESC_PRIVATE_LAST 0xFFF | 
 
 
 
 
 | 199 | #define IME_ESC_SEQUENCE_TO_INTERNAL 0x1001 | 
 
 
 
 
 | 200 | #define IME_ESC_GET_EUDC_DICTIONARY 0x1003 | 
 
 
 
 
 | 201 | #define IME_ESC_SET_EUDC_DICTIONARY 0x1004 | 
 
 
 
 
 | 202 | #define IME_ESC_MAX_KEY 0x1005 | 
 
 
 
 
 | 203 | #define IME_ESC_IME_NAME 0x1006 | 
 
 
 
 
 | 204 | #define IME_ESC_SYNC_HOTKEY 0x1007 | 
 
 
 
 
 | 205 | #define IME_ESC_HANJA_MODE 0x1008 | 
 
 
 
 
 | 206 | #define IME_ESC_AUTOMATA 0x1009 | 
 
 
 
 
 | 207 | #define IME_REGWORD_STYLE_EUDC 1 | 
 
 
 
 
 | 208 | #define IME_REGWORD_STYLE_USER_FIRST 0x80000000 | 
 
 
 
 
 | 209 | #define IME_REGWORD_STYLE_USER_LAST 0xFFFFFFFF | 
 
 
 
 
 | 210 | #define IMR_RECONVERTSTRING 4 | 
 
 
 
 
 | 211 | #define IMR_QUERYCHARPOSITION 6 | 
 
 
 
 
 | 212 | #define SOFTKEYBOARD_TYPE_T1 1 | 
 
 
 
 
 | 213 | #define SOFTKEYBOARD_TYPE_C1 2 | 
 
 
 
 
 | 214 | #define IMEMENUITEM_STRING_SIZE 80 | 
 
 
 
 
 | 215 | #define MOD_ALT 1 | 
 
 
 
 
 | 216 | #define MOD_CONTROL 2 | 
 
 
 
 
 | 217 | #define MOD_SHIFT 4 | 
 
 
 
 
 | 218 | #define MOD_WIN 8 | 
 
 
 
 
 | 219 | #define MOD_IGNORE_ALL_MODIFIER 1024 | 
 
 
 
 
 | 220 | #define MOD_ON_KEYUP  2048 | 
 
 
 
 
 | 221 | #define MOD_RIGHT 16384 | 
 
 
 
 
 | 222 | #define MOD_LEFT 32768 | 
 
 
 
 
 | 223 | #define IACE_CHILDREN 1 | 
 
 
 
 
 | 224 | #define IACE_DEFAULT 16 | 
 
 
 
 
 | 225 | #define IACE_IGNORENOCONTEXT 32 | 
 
 
 
 
 | 226 | #define IGIMIF_RIGHTMENU 1 | 
 
 
 
 
 | 227 | #define IGIMII_CMODE 1 | 
 
 
 
 
 | 228 | #define IGIMII_SMODE 2 | 
 
 
 
 
 | 229 | #define IGIMII_CONFIGURE 4 | 
 
 
 
 
 | 230 | #define IGIMII_TOOLS 8 | 
 
 
 
 
 | 231 | #define IGIMII_HELP 16 | 
 
 
 
 
 | 232 | #define IGIMII_OTHER 32 | 
 
 
 
 
 | 233 | #define IGIMII_INPUTTOOLS 64 | 
 
 
 
 
 | 234 | #define IMFT_RADIOCHECK 1 | 
 
 
 
 
 | 235 | #define IMFT_SEPARATOR 2 | 
 
 
 
 
 | 236 | #define IMFT_SUBMENU 4 | 
 
 
 
 
 | 237 | #define IMFS_GRAYED MFS_GRAYED | 
 
 
 
 
 | 238 | #define IMFS_DISABLED MFS_DISABLED | 
 
 
 
 
 | 239 | #define IMFS_CHECKED MFS_CHECKED | 
 
 
 
 
 | 240 | #define IMFS_HILITE MFS_HILITE | 
 
 
 
 
 | 241 | #define IMFS_ENABLED MFS_ENABLED | 
 
 
 
 
 | 242 | #define IMFS_UNCHECKED MFS_UNCHECKED | 
 
 
 
 
 | 243 | #define IMFS_UNHILITE MFS_UNHILITE | 
 
 
 
 
 | 244 | #define IMFS_DEFAULT MFS_DEFAULT | 
 
 
 
 
 | 245 | #ifndef VK_PROCESSKEY | 
 
 
 
 
 | 246 | #define VK_PROCESSKEY 0x0E5 | 
 
 
 
 
 | 247 | #endif | 
 
 
 
 
 | 248 | #define STYLE_DESCRIPTION_SIZE 32 | 
 
 
 
 
 | 249 | typedef DWORD HIMC; | 
 
 
 
 
 | 250 | typedef DWORD HIMCC; | 
 
 
 
 
 | 251 | typedef HKL *LPHKL; | 
 
 
 
 
 | 252 | typedef struct tagCOMPOSITIONFORM { | 
 
 
 
 
 | 253 | DWORD dwStyle; | 
 
 
 
 
 | 254 | POINT ptCurrentPos; | 
 
 
 
 
 | 255 | RECT rcArea; | 
 
 
 
 
 | 256 | } COMPOSITIONFORM,*PCOMPOSITIONFORM,*LPCOMPOSITIONFORM; | 
 
 
 
 
 | 257 | typedef struct tagCANDIDATEFORM { | 
 
 
 
 
 | 258 | DWORD dwIndex; | 
 
 
 
 
 | 259 | DWORD dwStyle; | 
 
 
 
 
 | 260 | POINT ptCurrentPos; | 
 
 
 
 
 | 261 | RECT rcArea; | 
 
 
 
 
 | 262 | } CANDIDATEFORM,*PCANDIDATEFORM,*LPCANDIDATEFORM; | 
 
 
 
 
 | 263 | typedef struct tagCANDIDATELIST { | 
 
 
 
 
 | 264 | DWORD dwSize; | 
 
 
 
 
 | 265 | DWORD dwStyle; | 
 
 
 
 
 | 266 | DWORD dwCount; | 
 
 
 
 
 | 267 | DWORD dwSelection; | 
 
 
 
 
 | 268 | DWORD dwPageStart; | 
 
 
 
 
 | 269 | DWORD dwPageSize; | 
 
 
 
 
 | 270 | DWORD dwOffset[1]; | 
 
 
 
 
 | 271 | } CANDIDATELIST,*PCANDIDATELIST,*LPCANDIDATELIST; | 
 
 
 
 
 | 272 | typedef struct tagIMECHARPOSITION { | 
 
 
 
 
 | 273 | DWORD  dwSize; | 
 
 
 
 
 | 274 | DWORD  dwCharPos; | 
 
 
 
 
 | 275 | POINT  pt; | 
 
 
 
 
 | 276 | UINT   cLineHeight; | 
 
 
 
 
 | 277 | RECT   rcDocument; | 
 
 
 
 
 | 278 | } IMECHARPOSITION, *PIMECHARPOSITION; | 
 
 
 
 
 | 279 | typedef struct tagRECONVERTSTRING { | 
 
 
 
 
 | 280 | DWORD dwSize; | 
 
 
 
 
 | 281 | DWORD dwVersion; | 
 
 
 
 
 | 282 | DWORD dwStrLen; | 
 
 
 
 
 | 283 | DWORD dwStrOffset; | 
 
 
 
 
 | 284 | DWORD dwCompStrLen; | 
 
 
 
 
 | 285 | DWORD dwCompStrOffset; | 
 
 
 
 
 | 286 | DWORD dwTargetStrLen; | 
 
 
 
 
 | 287 | DWORD dwTargetStrOffset; | 
 
 
 
 
 | 288 | } RECONVERTSTRING, *PRECONVERTSTRING; | 
 
 
 
 
 | 289 | typedef struct tagREGISTERWORDA { | 
 
 
 
 
 | 290 | LPSTR lpReading; | 
 
 
 
 
 | 291 | LPSTR lpWord; | 
 
 
 
 
 | 292 | } REGISTERWORDA,*PREGISTERWORDA,*LPREGISTERWORDA; | 
 
 
 
 
 | 293 | typedef struct tagREGISTERWORDW { | 
 
 
 
 
 | 294 | LPWSTR lpReading; | 
 
 
 
 
 | 295 | LPWSTR lpWord; | 
 
 
 
 
 | 296 | } REGISTERWORDW,*PREGISTERWORDW,*LPREGISTERWORDW; | 
 
 
 
 
 | 297 | typedef struct tagSTYLEBUFA { | 
 
 
 
 
 | 298 | DWORD dwStyle; | 
 
 
 
 
 | 299 | CHAR szDescription[STYLE_DESCRIPTION_SIZE]; | 
 
 
 
 
 | 300 | } STYLEBUFA,*PSTYLEBUFA,*LPSTYLEBUFA; | 
 
 
 
 
 | 301 | typedef struct tagSTYLEBUFW { | 
 
 
 
 
 | 302 | DWORD dwStyle; | 
 
 
 
 
 | 303 | WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; | 
 
 
 
 
 | 304 | } STYLEBUFW,*PSTYLEBUFW,*LPSTYLEBUFW; | 
 
 
 
 
 | 305 | typedef struct tagIMEMENUITEMINFOA { | 
 
 
 
 
 | 306 | UINT cbSize; | 
 
 
 
 
 | 307 | UINT fType; | 
 
 
 
 
 | 308 | UINT fState; | 
 
 
 
 
 | 309 | UINT wID; | 
 
 
 
 
 | 310 | HBITMAP hbmpChecked; | 
 
 
 
 
 | 311 | HBITMAP hbmpUnchecked; | 
 
 
 
 
 | 312 | DWORD dwItemData; | 
 
 
 
 
 | 313 | CHAR szString[IMEMENUITEM_STRING_SIZE]; | 
 
 
 
 
 | 314 | HBITMAP hbmpItem; | 
 
 
 
 
 | 315 | } IMEMENUITEMINFOA,*PIMEMENUITEMINFOA,*LPIMEMENUITEMINFOA; | 
 
 
 
 
 | 316 | typedef struct tagIMEMENUITEMINFOW { | 
 
 
 
 
 | 317 | UINT cbSize; | 
 
 
 
 
 | 318 | UINT fType; | 
 
 
 
 
 | 319 | UINT fState; | 
 
 
 
 
 | 320 | UINT wID; | 
 
 
 
 
 | 321 | HBITMAP hbmpChecked; | 
 
 
 
 
 | 322 | HBITMAP hbmpUnchecked; | 
 
 
 
 
 | 323 | DWORD dwItemData; | 
 
 
 
 
 | 324 | WCHAR szString[IMEMENUITEM_STRING_SIZE]; | 
 
 
 
 
 | 325 | HBITMAP hbmpItem; | 
 
 
 
 
 | 326 | } IMEMENUITEMINFOW,*PIMEMENUITEMINFOW,*LPIMEMENUITEMINFOW; | 
 
 
 
 
 | 327 | typedef int (CALLBACK *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID); | 
 
 
 
 
 | 328 | typedef int (CALLBACK *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID); | 
 
 
 
 
 | 329 | #ifdef UNICODE | 
 
 
 
 
 | 330 | #define REGISTERWORDENUMPROC REGISTERWORDENUMPROCW | 
 
 
 
 
 | 331 | typedef REGISTERWORDW REGISTERWORD,*PREGISTERWORD,*LPREGISTERWORD; | 
 
 
 
 
 | 332 | typedef STYLEBUFW STYLEBUF,*PSTYLEBUF,*LPSTYLEBUF; | 
 
 
 
 
 | 333 | typedef IMEMENUITEMINFOW IMEMENUITEMINFO,*PIMEMENUITEMINFO,*LPIMEMENUITEMINFO; | 
 
 
 
 
 | 334 | #else | 
 
 
 
 
 | 335 | #define REGISTERWORDENUMPROC REGISTERWORDENUMPROCA | 
 
 
 
 
 | 336 | typedef REGISTERWORDA REGISTERWORD,*PREGISTERWORD,*LPREGISTERWORD; | 
 
 
 
 
 | 337 | typedef STYLEBUFA STYLEBUF,*PSTYLEBUF,*LPSTYLEBUF; | 
 
 
 
 
 | 338 | typedef IMEMENUITEMINFOA IMEMENUITEMINFO,*PIMEMENUITEMINFO,*LPIMEMENUITEMINFO; | 
 
 
 
 
 | 339 | #endif | 
 
 
 
 
 | 340 | HKL WINAPI ImmInstallIMEA(LPCSTR,LPCSTR); | 
 
 
 
 
 | 341 | HKL WINAPI ImmInstallIMEW(LPCWSTR,LPCWSTR); | 
 
 
 
 
 | 342 | HWND WINAPI ImmGetDefaultIMEWnd(HWND); | 
 
 
 
 
 | 343 | UINT WINAPI ImmGetDescriptionA(HKL,LPSTR,UINT); | 
 
 
 
 
 | 344 | UINT WINAPI ImmGetDescriptionW(HKL,LPWSTR,UINT); | 
 
 
 
 
 | 345 | UINT WINAPI ImmGetIMEFileNameA(HKL,LPSTR,UINT); | 
 
 
 
 
 | 346 | UINT WINAPI ImmGetIMEFileNameW(HKL,LPWSTR,UINT); | 
 
 
 
 
 | 347 | DWORD WINAPI ImmGetProperty(HKL,DWORD); | 
 
 
 
 
 | 348 | BOOL WINAPI ImmIsIME(HKL); | 
 
 
 
 
 | 349 | BOOL WINAPI ImmSimulateHotKey(HWND,DWORD); | 
 
 
 
 
 | 350 | HIMC WINAPI ImmCreateContext(void); | 
 
 
 
 
 | 351 | BOOL WINAPI ImmDestroyContext(HIMC); | 
 
 
 
 
 | 352 | HIMC WINAPI ImmGetContext(HWND); | 
 
 
 
 
 | 353 | BOOL WINAPI ImmReleaseContext(HWND,HIMC); | 
 
 
 
 
 | 354 | HIMC WINAPI ImmAssociateContext(HWND,HIMC); | 
 
 
 
 
 | 355 | LONG WINAPI ImmGetCompositionStringA(HIMC,DWORD,PVOID,DWORD); | 
 
 
 
 
 | 356 | LONG WINAPI ImmGetCompositionStringW(HIMC,DWORD,PVOID,DWORD); | 
 
 
 
 
 | 357 | BOOL WINAPI ImmSetCompositionStringA(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD); | 
 
 
 
 
 | 358 | BOOL WINAPI ImmSetCompositionStringW(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD); | 
 
 
 
 
 | 359 | DWORD WINAPI ImmGetCandidateListCountA(HIMC,PDWORD); | 
 
 
 
 
 | 360 | DWORD WINAPI ImmGetCandidateListCountW(HIMC,PDWORD); | 
 
 
 
 
 | 361 | DWORD WINAPI ImmGetCandidateListA(HIMC,DWORD,PCANDIDATELIST,DWORD); | 
 
 
 
 
 | 362 | DWORD WINAPI ImmGetCandidateListW(HIMC,DWORD,PCANDIDATELIST,DWORD); | 
 
 
 
 
 | 363 | DWORD WINAPI ImmGetGuideLineA(HIMC,DWORD,LPSTR,DWORD); | 
 
 
 
 
 | 364 | DWORD WINAPI ImmGetGuideLineW(HIMC,DWORD,LPWSTR,DWORD); | 
 
 
 
 
 | 365 | BOOL WINAPI ImmGetConversionStatus(HIMC,LPDWORD,PDWORD); | 
 
 
 
 
 | 366 | BOOL WINAPI ImmSetConversionStatus(HIMC,DWORD,DWORD); | 
 
 
 
 
 | 367 | BOOL WINAPI ImmGetOpenStatus(HIMC); | 
 
 
 
 
 | 368 | BOOL WINAPI ImmSetOpenStatus(HIMC,BOOL); | 
 
 
 
 
 | 369 | #ifndef NOGDI | 
 
 
 
 
 | 370 | BOOL WINAPI ImmGetCompositionFontA(HIMC,LPLOGFONTA); | 
 
 
 
 
 | 371 | BOOL WINAPI ImmGetCompositionFontW(HIMC,LPLOGFONTW); | 
 
 
 
 
 | 372 | BOOL WINAPI ImmSetCompositionFontA(HIMC,LPLOGFONTA); | 
 
 
 
 
 | 373 | BOOL WINAPI ImmSetCompositionFontW(HIMC,LPLOGFONTW); | 
 
 
 
 
 | 374 | #endif | 
 
 
 
 
 | 375 | BOOL WINAPI ImmConfigureIMEA(HKL,HWND,DWORD,PVOID); | 
 
 
 
 
 | 376 | BOOL WINAPI ImmConfigureIMEW(HKL,HWND,DWORD,PVOID); | 
 
 
 
 
 | 377 | LRESULT WINAPI ImmEscapeA(HKL,HIMC,UINT,PVOID); | 
 
 
 
 
 | 378 | LRESULT WINAPI ImmEscapeW(HKL,HIMC,UINT,PVOID); | 
 
 
 
 
 | 379 | DWORD WINAPI ImmGetConversionListA(HKL,HIMC,LPCSTR,PCANDIDATELIST,DWORD,UINT); | 
 
 
 
 
 | 380 | DWORD WINAPI ImmGetConversionListW(HKL,HIMC,LPCWSTR,PCANDIDATELIST,DWORD,UINT); | 
 
 
 
 
 | 381 | BOOL WINAPI ImmNotifyIME(HIMC,DWORD,DWORD,DWORD); | 
 
 
 
 
 | 382 | BOOL WINAPI ImmGetStatusWindowPos(HIMC,LPPOINT); | 
 
 
 
 
 | 383 | BOOL WINAPI ImmSetStatusWindowPos(HIMC,LPPOINT); | 
 
 
 
 
 | 384 | BOOL WINAPI ImmGetCompositionWindow(HIMC,PCOMPOSITIONFORM); | 
 
 
 
 
 | 385 | BOOL WINAPI ImmSetCompositionWindow(HIMC,PCOMPOSITIONFORM); | 
 
 
 
 
 | 386 | BOOL WINAPI ImmGetCandidateWindow(HIMC,DWORD,PCANDIDATEFORM); | 
 
 
 
 
 | 387 | BOOL WINAPI ImmSetCandidateWindow(HIMC,PCANDIDATEFORM); | 
 
 
 
 
 | 388 | BOOL WINAPI ImmIsUIMessageA(HWND,UINT,WPARAM,LPARAM); | 
 
 
 
 
 | 389 | BOOL WINAPI ImmIsUIMessageW(HWND,UINT,WPARAM,LPARAM); | 
 
 
 
 
 | 390 | UINT WINAPI ImmGetVirtualKey(HWND); | 
 
 
 
 
 | 391 | BOOL WINAPI ImmRegisterWordA(HKL,LPCSTR,DWORD,LPCSTR); | 
 
 
 
 
 | 392 | BOOL WINAPI ImmRegisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR); | 
 
 
 
 
 | 393 | BOOL WINAPI ImmUnregisterWordA(HKL,LPCSTR,DWORD,LPCSTR); | 
 
 
 
 
 | 394 | BOOL WINAPI ImmUnregisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR); | 
 
 
 
 
 | 395 | UINT WINAPI ImmGetRegisterWordStyleA(HKL,UINT,PSTYLEBUFA); | 
 
 
 
 
 | 396 | UINT WINAPI ImmGetRegisterWordStyleW(HKL,UINT,PSTYLEBUFW); | 
 
 
 
 
 | 397 | UINT WINAPI ImmEnumRegisterWordA(HKL,REGISTERWORDENUMPROCA,LPCSTR,DWORD,LPCSTR,PVOID); | 
 
 
 
 
 | 398 | UINT WINAPI ImmEnumRegisterWordW(HKL,REGISTERWORDENUMPROCW,LPCWSTR,DWORD,LPCWSTR,PVOID); | 
 
 
 
 
 | 399 | BOOL WINAPI EnableEUDC(BOOL); | 
 
 
 
 
 | 400 | BOOL WINAPI ImmDisableIME(DWORD); | 
 
 
 
 
 | 401 | DWORD WINAPI ImmGetImeMenuItemsA(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOA,LPIMEMENUITEMINFOA,DWORD); | 
 
 
 
 
 | 402 | DWORD WINAPI ImmGetImeMenuItemsW(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOW,LPIMEMENUITEMINFOW,DWORD); | 
 
 
 
 
 | 403 |  | 
 
 
 
 
 | 404 | #ifdef UNICODE | 
 
 
 
 
 | 405 | #define ImmEnumRegisterWord ImmEnumRegisterWordW | 
 
 
 
 
 | 406 | #define ImmGetRegisterWordStyle ImmGetRegisterWordStyleW | 
 
 
 
 
 | 407 | #define ImmUnregisterWord ImmUnregisterWordW | 
 
 
 
 
 | 408 | #define ImmRegisterWord ImmRegisterWordW | 
 
 
 
 
 | 409 | #define ImmInstallIME ImmInstallIMEW | 
 
 
 
 
 | 410 | #define ImmIsUIMessage ImmIsUIMessageW | 
 
 
 
 
 | 411 | #define ImmGetConversionList ImmGetConversionListW | 
 
 
 
 
 | 412 | #define ImmEscape ImmEscapeW | 
 
 
 
 
 | 413 | #define ImmConfigureIME ImmConfigureIMEW | 
 
 
 
 
 | 414 | #ifndef NOGDI | 
 
 
 
 
 | 415 | #define ImmSetCompositionFont ImmSetCompositionFontW | 
 
 
 
 
 | 416 | #define ImmGetCompositionFont ImmGetCompositionFontW | 
 
 
 
 
 | 417 | #endif | 
 
 
 
 
 | 418 | #define ImmGetGuideLine ImmGetGuideLineW | 
 
 
 
 
 | 419 | #define ImmGetCandidateList ImmGetCandidateListW | 
 
 
 
 
 | 420 | #define ImmGetCandidateListCount ImmGetCandidateListCountW | 
 
 
 
 
 | 421 | #define ImmSetCompositionString ImmSetCompositionStringW | 
 
 
 
 
 | 422 | #define ImmGetCompositionString ImmGetCompositionStringW | 
 
 
 
 
 | 423 | #define ImmGetDescription ImmGetDescriptionW | 
 
 
 
 
 | 424 | #define ImmGetIMEFileName ImmGetIMEFileNameW | 
 
 
 
 
 | 425 | #define ImmGetImeMenuItems ImmGetImeMenuItemsW | 
 
 
 
 
 | 426 | #else | 
 
 
 
 
 | 427 | #define ImmEnumRegisterWord ImmEnumRegisterWordA | 
 
 
 
 
 | 428 | #define ImmGetRegisterWordStyle ImmGetRegisterWordStyleA | 
 
 
 
 
 | 429 | #define ImmUnregisterWord ImmUnregisterWordA | 
 
 
 
 
 | 430 | #define ImmRegisterWord ImmRegisterWordA | 
 
 
 
 
 | 431 | #define ImmInstallIME ImmInstallIMEA | 
 
 
 
 
 | 432 | #define ImmIsUIMessage ImmIsUIMessageA | 
 
 
 
 
 | 433 | #define ImmGetConversionList ImmGetConversionListA | 
 
 
 
 
 | 434 | #define ImmEscape ImmEscapeA | 
 
 
 
 
 | 435 | #define ImmConfigureIME ImmConfigureIMEA | 
 
 
 
 
 | 436 | #ifndef NOGDI | 
 
 
 
 
 | 437 | #define ImmSetCompositionFont ImmSetCompositionFontA | 
 
 
 
 
 | 438 | #define ImmGetCompositionFont ImmGetCompositionFontA | 
 
 
 
 
 | 439 | #endif | 
 
 
 
 
 | 440 | #define ImmGetGuideLine ImmGetGuideLineA | 
 
 
 
 
 | 441 | #define ImmGetCandidateList ImmGetCandidateListA | 
 
 
 
 
 | 442 | #define ImmGetCandidateListCount ImmGetCandidateListCountA | 
 
 
 
 
 | 443 | #define ImmSetCompositionString ImmSetCompositionStringA | 
 
 
 
 
 | 444 | #define ImmGetCompositionString ImmGetCompositionStringA | 
 
 
 
 
 | 445 | #define ImmGetDescription ImmGetDescriptionA | 
 
 
 
 
 | 446 | #define ImmGetIMEFileName ImmGetIMEFileNameA | 
 
 
 
 
 | 447 | #define ImmGetImeMenuItems ImmGetImeMenuItemsW | 
 
 
 
 
 | 448 | #endif | 
 
 
 
 
 | 449 | #ifdef __cplusplus | 
 
 
 
 
 | 450 | } | 
 
 
 
 
 | 451 | #endif | 
 
 
 
 
 | 452 | #endif |