📄 imm.h
字号:
#ifndef _IMM_H#define _IMM_H#ifdef __cplusplusextern "C" {#endif#define WM_CONVERTREQUESTEX 0x108#define WM_IME_STARTCOMPOSITION 0x10D#define WM_IME_ENDCOMPOSITION 0x10E#define WM_IME_COMPOSITION 0x10F#define WM_IME_KEYLAST 0x10F#define WM_IME_SETCONTEXT 0x281#define WM_IME_NOTIFY 0x282#define WM_IME_CONTROL 0x283#define WM_IME_COMPOSITIONFULL 0x284#define WM_IME_SELECT 0x285#define WM_IME_CHAR 0x286#define WM_IME_KEYDOWN 0x290#define WM_IME_KEYUP 0x291#define IMC_GETCANDIDATEPOS 7#define IMC_SETCANDIDATEPOS 8#define IMC_GETCOMPOSITIONFONT 9#define IMC_SETCOMPOSITIONFONT 10#define IMC_GETCOMPOSITIONWINDOW 11#define IMC_SETCOMPOSITIONWINDOW 12#define IMC_GETSTATUSWINDOWPOS 15#define IMC_SETSTATUSWINDOWPOS 16#define IMC_CLOSESTATUSWINDOW 0x21#define IMC_OPENSTATUSWINDOW 0x22#define IMN_CLOSESTATUSWINDOW 1#define IMN_OPENSTATUSWINDOW 2#define IMN_CHANGECANDIDATE 3#define IMN_CLOSECANDIDATE 4#define IMN_OPENCANDIDATE 5#define IMN_SETCONVERSIONMODE 6#define IMN_SETSENTENCEMODE 7#define IMN_SETOPENSTATUS 8#define IMN_SETCANDIDATEPOS 9#define IMN_SETCOMPOSITIONFONT 10#define IMN_SETCOMPOSITIONWINDOW 11#define IMN_SETSTATUSWINDOWPOS 12#define IMN_GUIDELINE 13#define IMN_PRIVATE 14#define NI_OPENCANDIDATE 16#define NI_CLOSECANDIDATE 17#define NI_SELECTCANDIDATESTR 18#define NI_CHANGECANDIDATELIST 19#define NI_FINALIZECONVERSIONRESULT 20#define NI_COMPOSITIONSTR 21#define NI_SETCANDIDATE_PAGESTART 22#define NI_SETCANDIDATE_PAGESIZE 23#define ISC_SHOWUICANDIDATEWINDOW 1#define ISC_SHOWUICOMPOSITIONWINDOW 0x80000000#define ISC_SHOWUIGUIDELINE 0x40000000#define ISC_SHOWUIALLCANDIDATEWINDOW 15#define ISC_SHOWUIALL 0xC000000F#define CPS_COMPLETE 1#define CPS_CONVERT 2#define CPS_REVERT 3#define CPS_CANCEL 4#define IME_CHOTKEY_IME_NONIME_TOGGLE 16#define IME_CHOTKEY_SHAPE_TOGGLE 17#define IME_CHOTKEY_SYMBOL_TOGGLE 18#define IME_JHOTKEY_CLOSE_OPEN 0x30#define IME_KHOTKEY_SHAPE_TOGGLE 0x50#define IME_KHOTKEY_HANJACONVERT 0x51#define IME_KHOTKEY_ENGLISH 0x52#define IME_THOTKEY_IME_NONIME_TOGGLE 0x70#define IME_THOTKEY_SHAPE_TOGGLE 0x71#define IME_THOTKEY_SYMBOL_TOGGLE 0x72#define IME_HOTKEY_DSWITCH_FIRST 256#define IME_HOTKEY_DSWITCH_LAST 0x11F#define IME_ITHOTKEY_RESEND_RESULTSTR 512#define IME_ITHOTKEY_PREVIOUS_COMPOSITION 513#define IME_ITHOTKEY_UISTYLE_TOGGLE 514#define GCS_COMPREADSTR 1#define GCS_COMPREADATTR 2#define GCS_COMPREADCLAUSE 4#define GCS_COMPSTR 8#define GCS_COMPATTR 16#define GCS_COMPCLAUSE 32#define GCS_CURSORPOS 128#define GCS_DELTASTART 256#define GCS_RESULTREADSTR 512#define GCS_RESULTREADCLAUSE 1024#define GCS_RESULTSTR 2048#define GCS_RESULTCLAUSE 4096#define CS_INSERTCHAR 0x2000#define CS_NOMOVECARET 0x4000#define IMEVER_0310 0x3000A#define IMEVER_0400 0x40000#define IME_PROP_AT_CARET 0x10000#define IME_PROP_SPECIAL_UI 0x20000#define IME_PROP_CANDLIST_START_FROM_1 0x40000#define IME_PROP_UNICODE 0x80000#define UI_CAP_2700 1#define UI_CAP_ROT90 2#define UI_CAP_ROTANY 4#define SCS_CAP_COMPSTR 1#define SCS_CAP_MAKEREAD 2#define SELECT_CAP_CONVERSION 1#define SELECT_CAP_SENTENCE 2#define GGL_LEVEL 1#define GGL_INDEX 2#define GGL_STRING 3#define GGL_PRIVATE 4#define GL_LEVEL_NOGUIDELINE 0#define GL_LEVEL_FATAL 1#define GL_LEVEL_ERROR 2#define GL_LEVEL_WARNING 3#define GL_LEVEL_INFORMATION 4#define GL_ID_UNKNOWN 0#define GL_ID_NOMODULE 1#define GL_ID_NODICTIONARY 16#define GL_ID_CANNOTSAVE 17#define GL_ID_NOCONVERT 32#define GL_ID_TYPINGERROR 33#define GL_ID_TOOMANYSTROKE 34#define GL_ID_READINGCONFLICT 35#define GL_ID_INPUTREADING 36#define GL_ID_INPUTRADICAL 37#define GL_ID_INPUTCODE 38#define GL_ID_INPUTSYMBOL 39#define GL_ID_CHOOSECANDIDATE 40#define GL_ID_REVERSECONVERSION 41#define GL_ID_PRIVATE_FIRST 0x8000#define GL_ID_PRIVATE_LAST 0xFFFF#define IGP_GETIMEVERSION (DWORD)(-4)#define IGP_PROPERTY 4#define IGP_CONVERSION 8#define IGP_SENTENCE 12#define IGP_UI 16#define IGP_SETCOMPSTR 0x14#define IGP_SELECT 0x18#define SCS_SETSTR (GCS_COMPREADSTR|GCS_COMPSTR)#define SCS_CHANGEATTR (GCS_COMPREADATTR|GCS_COMPATTR)#define SCS_CHANGECLAUSE (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE)#define ATTR_INPUT 0#define ATTR_TARGET_CONVERTED 1#define ATTR_CONVERTED 2#define ATTR_TARGET_NOTCONVERTED 3#define ATTR_INPUT_ERROR 4#define CFS_DEFAULT 0#define CFS_RECT 1#define CFS_POINT 2#define CFS_SCREEN 4#define CFS_FORCE_POSITION 32#define CFS_CANDIDATEPOS 64#define CFS_EXCLUDE 128#define GCL_CONVERSION 1#define GCL_REVERSECONVERSION 2#define GCL_REVERSE_LENGTH 3#define IME_CMODE_ALPHANUMERIC 0#define IME_CMODE_NATIVE 1#define IME_CMODE_CHINESE IME_CMODE_NATIVE#define IME_CMODE_HANGEUL IME_CMODE_NATIVE#define IME_CMODE_JAPANESE IME_CMODE_NATIVE#define IME_CMODE_KATAKANA 2#define IME_CMODE_LANGUAGE 3#define IME_CMODE_FULLSHAPE 8#define IME_CMODE_ROMAN 16#define IME_CMODE_CHARCODE 32#define IME_CMODE_HANJACONVERT 64#define IME_CMODE_SOFTKBD 128#define IME_CMODE_NOCONVERSION 256#define IME_CMODE_EUDC 512#define IME_CMODE_SYMBOL 1024#define IME_SMODE_NONE 0#define IME_SMODE_PLAURALCLAUSE 1#define IME_SMODE_SINGLECONVERT 2#define IME_SMODE_AUTOMATIC 4#define IME_SMODE_PHRASEPREDICT 8#define IME_CAND_UNKNOWN 0#define IME_CAND_READ 1#define IME_CAND_CODE 2#define IME_CAND_MEANING 3#define IME_CAND_RADICAL 4#define IME_CAND_STROKE 5#define IMM_ERROR_NODATA (-1)#define IMM_ERROR_GENERAL (-2)#define IME_CONFIG_GENERAL 1#define IME_CONFIG_REGISTERWORD 2#define IME_CONFIG_SELECTDICTIONARY 3#define IME_ESC_QUERY_SUPPORT 3#define IME_ESC_RESERVED_FIRST 4#define IME_ESC_RESERVED_LAST 0x7FF#define IME_ESC_PRIVATE_FIRST 0x800#define IME_ESC_PRIVATE_LAST 0xFFF#define IME_ESC_SEQUENCE_TO_INTERNAL 0x1001#define IME_ESC_GET_EUDC_DICTIONARY 0x1003#define IME_ESC_SET_EUDC_DICTIONARY 0x1004#define IME_ESC_MAX_KEY 0x1005#define IME_ESC_IME_NAME 0x1006#define IME_ESC_SYNC_HOTKEY 0x1007#define IME_ESC_HANJA_MODE 0x1008#define IME_ESC_AUTOMATA 0x1009#define IME_REGWORD_STYLE_EUDC 1#define IME_REGWORD_STYLE_USER_FIRST 0x80000000#define IME_REGWORD_STYLE_USER_LAST 0xFFFFFFFF#define SOFTKEYBOARD_TYPE_T1 1#define SOFTKEYBOARD_TYPE_C1 2#ifndef VK_PROCESSKEY#define VK_PROCESSKEY 0x0E5#endif#define STYLE_DESCRIPTION_SIZE 32typedef DWORD HIMC;typedef DWORD HIMCC;typedef HKL *LPHKL;typedef struct tagCOMPOSITIONFORM { DWORD dwStyle; POINT ptCurrentPos; RECT rcArea;} COMPOSITIONFORM,*PCOMPOSITIONFORM,*LPCOMPOSITIONFORM;typedef struct tagCANDIDATEFORM { DWORD dwIndex; DWORD dwStyle; POINT ptCurrentPos; RECT rcArea;} CANDIDATEFORM,*PCANDIDATEFORM,*LPCANDIDATEFORM;typedef struct tagCANDIDATELIST { DWORD dwSize; DWORD dwStyle; DWORD dwCount; DWORD dwSelection; DWORD dwPageStart; DWORD dwPageSize; DWORD dwOffset[1];} CANDIDATELIST,*PCANDIDATELIST,*LPCANDIDATELIST;typedef struct tagREGISTERWORDA { LPSTR lpReading; LPSTR lpWord;} REGISTERWORDA,*PREGISTERWORDA,*LPREGISTERWORDA;typedef struct tagREGISTERWORDW { LPWSTR lpReading; LPWSTR lpWord;} REGISTERWORDW,*PREGISTERWORDW,*LPREGISTERWORDW;typedef struct tagSTYLEBUFA { DWORD dwStyle; CHAR szDescription[STYLE_DESCRIPTION_SIZE];} STYLEBUFA,*PSTYLEBUFA,*LPSTYLEBUFA;typedef struct tagSTYLEBUFW { DWORD dwStyle; WCHAR szDescription[STYLE_DESCRIPTION_SIZE];} STYLEBUFW,*PSTYLEBUFW,*LPSTYLEBUFW;typedef int (CALLBACK *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID);typedef int (CALLBACK *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID);#ifdef UNICODE#define REGISTERWORDENUMPROC REGISTERWORDENUMPROCWtypedef REGISTERWORDW REGISTERWORD;typedef PREGISTERWORDW PREGISTERWORD;typedef LPREGISTERWORDW LPREGISTERWORD;typedef STYLEBUFW STYLEBUF;typedef PSTYLEBUFW PSTYLEBUF;typedef LPSTYLEBUFW LPSTYLEBUF;#else#define REGISTERWORDENUMPROC REGISTERWORDENUMPROCAtypedef REGISTERWORDA REGISTERWORD;typedef PREGISTERWORDA PREGISTERWORD;typedef LPREGISTERWORDA LPREGISTERWORD;typedef STYLEBUFA STYLEBUF;typedef PSTYLEBUFA PSTYLEBUF;typedef LPSTYLEBUFA LPSTYLEBUF;#endifHKL WINAPI ImmInstallIMEA(LPCSTR,LPCSTR);HKL WINAPI ImmInstallIMEW(LPCWSTR,LPCWSTR);HWND WINAPI ImmGetDefaultIMEWnd(HWND);UINT WINAPI ImmGetDescriptionA(HKL,LPSTR,UINT);UINT WINAPI ImmGetDescriptionW(HKL,LPWSTR,UINT);UINT WINAPI ImmGetIMEFileNameA(HKL,LPSTR,UINT);UINT WINAPI ImmGetIMEFileNameW(HKL,LPWSTR,UINT);DWORD WINAPI ImmGetProperty(HKL,DWORD);BOOL WINAPI ImmIsIME(HKL);BOOL WINAPI ImmSimulateHotKey(HWND,DWORD);HIMC WINAPI ImmCreateContext(void);BOOL WINAPI ImmDestroyContext(HIMC);HIMC WINAPI ImmGetContext(HWND);BOOL WINAPI ImmReleaseContext(HWND,HIMC);HIMC WINAPI ImmAssociateContext(HWND,HIMC);LONG WINAPI ImmGetCompositionStringA(HIMC,DWORD,PVOID,DWORD);LONG WINAPI ImmGetCompositionStringW(HIMC,DWORD,PVOID,DWORD);BOOL WINAPI ImmSetCompositionStringA(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD);BOOL WINAPI ImmSetCompositionStringW(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD);DWORD WINAPI ImmGetCandidateListCountA(HIMC,PDWORD);DWORD WINAPI ImmGetCandidateListCountW(HIMC,PDWORD);DWORD WINAPI ImmGetCandidateListA(HIMC,DWORD,PCANDIDATELIST,DWORD);DWORD WINAPI ImmGetCandidateListW(HIMC,DWORD,PCANDIDATELIST,DWORD);DWORD WINAPI ImmGetGuideLineA(HIMC,DWORD,LPSTR,DWORD);DWORD WINAPI ImmGetGuideLineW(HIMC,DWORD,LPWSTR,DWORD);BOOL WINAPI ImmGetConversionStatus(HIMC,LPDWORD,PDWORD);BOOL WINAPI ImmSetConversionStatus(HIMC,DWORD,DWORD);BOOL WINAPI ImmGetOpenStatus(HIMC);BOOL WINAPI ImmSetOpenStatus(HIMC,BOOL);BOOL WINAPI ImmGetCompositionFontA(HIMC,LPLOGFONTA);BOOL WINAPI ImmGetCompositionFontW(HIMC,LPLOGFONTW);BOOL WINAPI ImmSetCompositionFontA(HIMC,LPLOGFONTA);BOOL WINAPI ImmSetCompositionFontW(HIMC,LPLOGFONTW);BOOL WINAPI ImmConfigureIMEA(HKL,HWND,DWORD,PVOID);BOOL WINAPI ImmConfigureIMEW(HKL,HWND,DWORD,PVOID);LRESULT WINAPI ImmEscapeA(HKL,HIMC,UINT,PVOID);LRESULT WINAPI ImmEscapeW(HKL,HIMC,UINT,PVOID);DWORD WINAPI ImmGetConversionListA(HKL,HIMC,LPCSTR,PCANDIDATELIST,DWORD,UINT);DWORD WINAPI ImmGetConversionListW(HKL,HIMC,LPCWSTR,PCANDIDATELIST,DWORD,UINT);BOOL WINAPI ImmNotifyIME(HIMC,DWORD,DWORD,DWORD);BOOL WINAPI ImmGetStatusWindowPos(HIMC,LPPOINT);BOOL WINAPI ImmSetStatusWindowPos(HIMC,LPPOINT);BOOL WINAPI ImmGetCompositionWindow(HIMC,PCOMPOSITIONFORM);BOOL WINAPI ImmSetCompositionWindow(HIMC,PCOMPOSITIONFORM);BOOL WINAPI ImmGetCandidateWindow(HIMC,DWORD,PCANDIDATEFORM);BOOL WINAPI ImmSetCandidateWindow(HIMC,PCANDIDATEFORM);BOOL WINAPI ImmIsUIMessageA(HWND,UINT,WPARAM,LPARAM);BOOL WINAPI ImmIsUIMessageW(HWND,UINT,WPARAM,LPARAM);UINT WINAPI ImmGetVirtualKey(HWND);BOOL WINAPI ImmRegisterWordA(HKL,LPCSTR,DWORD,LPCSTR);BOOL WINAPI ImmRegisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR);BOOL WINAPI ImmUnregisterWordA(HKL,LPCSTR,DWORD,LPCSTR);BOOL WINAPI ImmUnregisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR);UINT WINAPI ImmGetRegisterWordStyleA(HKL,UINT,PSTYLEBUFA);UINT WINAPI ImmGetRegisterWordStyleW(HKL,UINT,PSTYLEBUFW);UINT WINAPI ImmEnumRegisterWordA(HKL,REGISTERWORDENUMPROCA,LPCSTR,DWORD,LPCSTR,PVOID);UINT WINAPI ImmEnumRegisterWordW(HKL,REGISTERWORDENUMPROCW,LPCWSTR,DWORD,LPCWSTR,PVOID);BOOL WINAPI EnableEUDC(BOOL);#ifdef UNICODE#define ImmEnumRegisterWord ImmEnumRegisterWordW#define ImmGetRegisterWordStyle ImmGetRegisterWordStyleW#define ImmUnregisterWord ImmUnregisterWordW#define ImmRegisterWord ImmRegisterWordW#define ImmInstallIME ImmInstallIMEW#define ImmIsUIMessage ImmIsUIMessageW#define ImmGetConversionList ImmGetConversionListW#define ImmEscape ImmEscapeW#define ImmConfigureIME ImmConfigureIMEW#define ImmSetCompositionFont ImmSetCompositionFontW#define ImmGetCompositionFont ImmGetCompositionFontW#define ImmGetGuideLine ImmGetGuideLineW#define ImmGetCandidateList ImmGetCandidateListW#define ImmGetCandidateListCount ImmGetCandidateListCountW#define ImmSetCompositionString ImmSetCompositionStringW#define ImmGetCompositionString ImmGetCompositionStringW#define ImmGetDescription ImmGetDescriptionW#define ImmGetIMEFileName ImmGetIMEFileNameW#else#define ImmEnumRegisterWord ImmEnumRegisterWordA#define ImmGetRegisterWordStyle ImmGetRegisterWordStyleA#define ImmUnregisterWord ImmUnregisterWordA#define ImmRegisterWord ImmRegisterWordA#define ImmInstallIME ImmInstallIMEA#define ImmIsUIMessage ImmIsUIMessageA#define ImmGetConversionList ImmGetConversionListA#define ImmEscape ImmEscapeA#define ImmConfigureIME ImmConfigureIMEA#define ImmSetCompositionFont ImmSetCompositionFontA#define ImmGetCompositionFont ImmGetCompositionFontA#define ImmGetGuideLine ImmGetGuideLineA#define ImmGetCandidateList ImmGetCandidateListA#define ImmGetCandidateListCount ImmGetCandidateListCountA#define ImmSetCompositionString ImmSetCompositionStringA#define ImmGetCompositionString ImmGetCompositionStringA#define ImmGetDescription ImmGetDescriptionA#define ImmGetIMEFileName ImmGetIMEFileNameA#endif#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -