亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? imm.h

?? This folder includes IME sample source code for Simplified Chinese IMEs
?? H
?? 第 1 頁 / 共 3 頁
字號:
#define IME_ESC_PRIVATE_LAST            0x0FFF

#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_ESC_PRIVATE_HOTKEY          0x100a
#define IME_ESC_GETHELPFILENAME         0x100b
// style of word registration
#define IME_REGWORD_STYLE_EUDC          0x00000001
#define IME_REGWORD_STYLE_USER_FIRST    0x80000000
#define IME_REGWORD_STYLE_USER_LAST     0xFFFFFFFF


#if (WINVER >= 0x040A)

// dwFlags for ImmAssociateContextEx
#define IACE_CHILDREN                   0x0001
#define IACE_DEFAULT                    0x0010
#define IACE_IGNORENOCONTEXT            0x0020

// dwFlags for ImmGetImeMenuItems
#define IGIMIF_RIGHTMENU                0x0001

// dwType for ImmGetImeMenuItems
#define IGIMII_CMODE                    0x0001
#define IGIMII_SMODE                    0x0002
#define IGIMII_CONFIGURE                0x0004
#define IGIMII_TOOLS                    0x0008
#define IGIMII_HELP                     0x0010
#define IGIMII_OTHER                    0x0020
#define IGIMII_INPUTTOOLS               0x0040

// fType of IMEMENUITEMINFO structure
#define IMFT_RADIOCHECK 0x00001
#define IMFT_SEPARATOR  0x00002
#define IMFT_SUBMENU    0x00004

// fState of IMEMENUITEMINFO structure
#define IMFS_GRAYED          MFS_GRAYED
#define IMFS_DISABLED        MFS_DISABLED
#define IMFS_CHECKED         MFS_CHECKED
#define IMFS_HILITE          MFS_HILITE
#define IMFS_ENABLED         MFS_ENABLED
#define IMFS_UNCHECKED       MFS_UNCHECKED
#define IMFS_UNHILITE        MFS_UNHILITE
#define IMFS_DEFAULT         MFS_DEFAULT

#endif /* WINVER >= 0x040A */

// type of soft keyboard
// for Windows Tranditional Chinese Edition
#define SOFTKEYBOARD_TYPE_T1            0x0001
// for Windows Simplified Chinese Edition
#define SOFTKEYBOARD_TYPE_C1            0x0002


#endif  // _IMM_SDK_DEFINED_

#ifndef _IMM_DDK_DEFINED_
#define _IMM_DDK_DEFINED_

typedef struct tagCOMPOSITIONSTRING {
    DWORD dwSize;
    DWORD dwCompReadAttrLen;
    DWORD dwCompReadAttrOffset;
    DWORD dwCompReadClauseLen;
    DWORD dwCompReadClauseOffset;
    DWORD dwCompReadStrLen;
    DWORD dwCompReadStrOffset;
    DWORD dwCompAttrLen;
    DWORD dwCompAttrOffset;
    DWORD dwCompClauseLen;
    DWORD dwCompClauseOffset;
    DWORD dwCompStrLen;
    DWORD dwCompStrOffset;
    DWORD dwCursorPos;
    DWORD dwDeltaStart;
    DWORD dwResultReadClauseLen;
    DWORD dwResultReadClauseOffset;
    DWORD dwResultReadStrLen;
    DWORD dwResultReadStrOffset;
    DWORD dwResultClauseLen;
    DWORD dwResultClauseOffset;
    DWORD dwResultStrLen;
    DWORD dwResultStrOffset;
    DWORD dwPrivateSize;
    DWORD dwPrivateOffset;
} COMPOSITIONSTRING, *PCOMPOSITIONSTRING, NEAR *NPCOMPOSITIONSTRING, FAR  *LPCOMPOSITIONSTRING;

typedef struct tagGUIDELINE {
    DWORD dwSize;
    DWORD dwLevel;
    DWORD dwIndex;
    DWORD dwStrLen;
    DWORD dwStrOffset;
    DWORD dwPrivateSize;
    DWORD dwPrivateOffset;
} GUIDELINE, *PGUIDELINE, NEAR *NPGUIDELINE, FAR *LPGUIDELINE;

#if (WINVER >= 0x040A)

typedef struct tagTRANSMSG {
    UINT   message;
    WPARAM wParam;
    LPARAM lParam;
} TRANSMSG, *PTRANSMSG, NEAR *NPTRANSMSG, FAR *LPTRANSMSG;

typedef struct tagTRANSMSGLIST {
    UINT     uMsgCount;
    TRANSMSG TransMsg[1];
} TRANSMSGLIST, *PTRANSMSGLIST, NEAR *NPTRANSMSGLIST, FAR *LPTRANSMSGLIST;

#endif /* WINVER >= 0x040A */

typedef struct tagCANDIDATEINFO {
    DWORD               dwSize;
    DWORD               dwCount;
    DWORD               dwOffset[32];
    DWORD               dwPrivateSize;
    DWORD               dwPrivateOffset;
} CANDIDATEINFO, *PCANDIDATEINFO, NEAR *NPCANDIDATEINFO, FAR *LPCANDIDATEINFO;


typedef struct tagINPUTCONTEXT {
    HWND                hWnd;
    BOOL                fOpen;
    POINT               ptStatusWndPos;
    POINT               ptSoftKbdPos;
    DWORD               fdwConversion;
    DWORD               fdwSentence;
    union   {
        LOGFONTA        A;
        LOGFONTW        W;
    } lfFont;
    COMPOSITIONFORM     cfCompForm;
    CANDIDATEFORM       cfCandForm[4];
    HIMCC               hCompStr;
    HIMCC               hCandInfo;
    HIMCC               hGuideLine;
    HIMCC               hPrivate;
    DWORD               dwNumMsgBuf;
    HIMCC               hMsgBuf;
    DWORD               fdwInit;
    DWORD               dwReserve[3];
} INPUTCONTEXT, *PINPUTCONTEXT, NEAR *NPINPUTCONTEXT, FAR *LPINPUTCONTEXT;

typedef struct tagIMEINFO {
    DWORD       dwPrivateDataSize;
    DWORD       fdwProperty;
    DWORD       fdwConversionCaps;
    DWORD       fdwSentenceCaps;
    DWORD       fdwUICaps;
    DWORD       fdwSCSCaps;
    DWORD       fdwSelectCaps;
} IMEINFO, *PIMEINFO, NEAR *NPIMEINFO, FAR *LPIMEINFO;

typedef struct tagSOFTKBDDATA {
    UINT        uCount;
    WORD        wCode[1][256];
} SOFTKBDDATA, *PSOFTKBDDATA, NEAR *NPSOFTKBDDATA, FAR * LPSOFTKBDDATA;


BOOL WINAPI ImmGetHotKey(IN DWORD, OUT LPUINT lpuModifiers, OUT LPUINT lpuVKey, OUT LPHKL);
BOOL WINAPI ImmSetHotKey(IN DWORD, IN UINT, IN UINT, IN HKL);
BOOL WINAPI ImmGenerateMessage(IN HIMC);
#if (WINVER >= 0x040A)
LRESULT WINAPI ImmRequestMessageA(IN HIMC, IN WPARAM, IN LPARAM);
LRESULT WINAPI ImmRequestMessageW(IN HIMC, IN WPARAM, IN LPARAM);
#ifdef UNICODE
#define ImmRequestMessage  ImmRequestMessageW
#else
#define ImmRequestMessage  ImmRequestMessageA
#endif // !UNICODE
#endif /* WINVER >= 0x040A */

//
// Prototype of soft keyboard APIs
//

HWND WINAPI ImmCreateSoftKeyboard(IN UINT, IN HWND, IN int, IN int);
BOOL WINAPI ImmDestroySoftKeyboard(IN HWND);
BOOL WINAPI ImmShowSoftKeyboard(IN HWND, IN int);

LPINPUTCONTEXT WINAPI ImmLockIMC(IN HIMC);
BOOL  WINAPI ImmUnlockIMC(IN HIMC);
DWORD WINAPI ImmGetIMCLockCount(IN HIMC);

HIMCC  WINAPI ImmCreateIMCC(IN DWORD);
HIMCC  WINAPI ImmDestroyIMCC(IN HIMCC);
LPVOID WINAPI ImmLockIMCC(IN HIMCC);
BOOL   WINAPI ImmUnlockIMCC(IN HIMCC);
DWORD  WINAPI ImmGetIMCCLockCount(IN HIMCC);
HIMCC  WINAPI ImmReSizeIMCC(IN HIMCC, IN DWORD);
DWORD  WINAPI ImmGetIMCCSize(IN HIMCC);

// the window extra offset
#define IMMGWL_IMC                      0
#define IMMGWL_PRIVATE                  (sizeof(LONG))

#ifdef _WIN64
#undef IMMGWL_IMC
#undef IMMGWL_PRIVATE
#endif /* _WIN64 */

#define IMMGWLP_IMC                     0
#define IMMGWLP_PRIVATE                 (sizeof(LONG_PTR))


// for NI_CONTEXTUPDATED
#define IMC_SETCONVERSIONMODE           0x0002
#define IMC_SETSENTENCEMODE             0x0004
#define IMC_SETOPENSTATUS               0x0006

// wParam for WM_IME_CONTROL to the soft keyboard
#define IMC_GETSOFTKBDFONT              0x0011
#define IMC_SETSOFTKBDFONT              0x0012
#define IMC_GETSOFTKBDPOS               0x0013
#define IMC_SETSOFTKBDPOS               0x0014
#define IMC_GETSOFTKBDSUBTYPE           0x0015
#define IMC_SETSOFTKBDSUBTYPE           0x0016
#define IMC_SETSOFTKBDDATA              0x0018


// dwAction for ImmNotifyIME
#define NI_CONTEXTUPDATED               0x0003
// dwSystemInfoFlags bits
#define IME_SYSINFO_WINLOGON            0x0001
#define IME_SYSINFO_WOW16               0x0002

#define GCS_COMP                        (GCS_COMPSTR|GCS_COMPATTR|GCS_COMPCLAUSE)
#define GCS_COMPREAD                    (GCS_COMPREADSTR|GCS_COMPREADATTR |GCS_COMPREADCLAUSE)
#define GCS_RESULT                      (GCS_RESULTSTR|GCS_RESULTCLAUSE)
#define GCS_RESULTREAD                  (GCS_RESULTREADSTR|GCS_RESULTREADCLAUSE)


// bits of fdwInit of INPUTCONTEXT
#define INIT_STATUSWNDPOS               0x00000001
#define INIT_CONVERSION                 0x00000002
#define INIT_SENTENCE                   0x00000004
#define INIT_LOGFONT                    0x00000008
#define INIT_COMPFORM                   0x00000010
#define INIT_SOFTKBDPOS                 0x00000020


// IME property bits
#define IME_PROP_END_UNLOAD             0x00000001
#define IME_PROP_KBD_CHAR_FIRST         0x00000002
#define IME_PROP_IGNORE_UPKEYS          0x00000004
#define IME_PROP_NEED_ALTKEY            0x00000008
#define IME_PROP_NO_KEYS_ON_CLOSE       0x00000010
#define IME_PROP_ACCEPT_WIDE_VKEY       0x00000020

// IME UICapability bits
#define UI_CAP_SOFTKBD                  0x00010000

#define IMN_SOFTKBDDESTROYED            0x0011


// flags for ImmEscape
#define IME_ESC_PENAUXDATA              0x100c


// prototype of IME APIs
BOOL    WINAPI ImeInquire(IN LPIMEINFO, OUT LPTSTR lpszUIClass, IN DWORD dwSystemInfoFlags);
BOOL    WINAPI ImeConfigure(IN HKL, IN HWND, IN DWORD, IN LPVOID);
DWORD   WINAPI ImeConversionList(HIMC, LPCTSTR, LPCANDIDATELIST, DWORD dwBufLen, UINT uFlag);
BOOL    WINAPI ImeDestroy(UINT);
LRESULT WINAPI ImeEscape(HIMC, UINT, LPVOID);
BOOL    WINAPI ImeProcessKey(IN HIMC, IN UINT, IN LPARAM, IN CONST LPBYTE);
BOOL    WINAPI ImeSelect(IN HIMC, IN BOOL);
BOOL    WINAPI ImeSetActiveContext(IN HIMC, IN BOOL);
#if (WINVER >= 0x040A)
UINT    WINAPI ImeToAsciiEx(IN UINT uVirtKey, IN UINT uScaCode, IN CONST LPBYTE lpbKeyState, OUT LPTRANSMSGLIST lpTransBuf, IN UINT fuState, IN HIMC);
#else
UINT    WINAPI ImeToAsciiEx(IN UINT uVirtKey, IN UINT uScaCode, IN CONST LPBYTE lpbKeyState, OUT LPDWORD lpdwTransBuf, IN UINT fuState, IN HIMC);
#endif /* WINVER >= 0x040A */
BOOL    WINAPI NotifyIME(IN HIMC, IN DWORD, IN DWORD, IN DWORD);
BOOL    WINAPI ImeRegisterWord(IN LPCTSTR, IN DWORD, IN LPCTSTR);
BOOL    WINAPI ImeUnregisterWord(IN LPCTSTR, IN DWORD, IN LPCTSTR);
UINT    WINAPI ImeGetRegisterWordStyle(IN UINT nItem, OUT LPSTYLEBUF);
UINT    WINAPI ImeEnumRegisterWord(IN REGISTERWORDENUMPROC, IN LPCTSTR, IN DWORD, IN LPCTSTR, IN LPVOID);
BOOL    WINAPI ImeSetCompositionString(IN HIMC, IN DWORD dwIndex, IN LPVOID lpComp, IN DWORD, IN LPVOID lpRead, IN DWORD);

//
// Pen Input support
//
typedef struct tagIMEPENDATA {
    DWORD dwVersion;
    DWORD dwFlags;
    DWORD dwCount;
    LPVOID lpExtraInfo;
    ULONG_PTR ulReserve;
    union {
        struct {
            LPDWORD lpSymbol;
            LPWORD lpSkip;
            LPWORD lpScore;
        } wd;
    };
} IMEPENDATA, *PIMEPENDATA, NEAR* NPIMEPENDATA, FAR* LPIMEPENDATA;

#define IME_PEN_SYMBOL                  0x00000010
#define IME_PEN_SKIP                    0x00000020
#define IME_PEN_SCORE                   0x00000040

#endif  // _IMM_DDK_DEFINED_

#ifdef __cplusplus
}
#endif

#endif  // _IMMDEV_

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.av精品| 国产精品拍天天在线| 欧美变态口味重另类| 日本sm残虐另类| 欧美怡红院视频| 亚洲国产成人一区二区三区| 免费观看日韩av| 欧美久久久久久久久中文字幕| 亚洲v精品v日韩v欧美v专区| 91色.com| 一区二区三区在线观看网站| 欧美日韩一区成人| 亚洲激情图片qvod| 色综合久久综合网| 亚洲1区2区3区4区| 一本大道久久a久久综合| 久久久久国产精品麻豆ai换脸| 午夜一区二区三区视频| 99视频在线精品| 国产午夜精品福利| 高清不卡一二三区| 国产精品久久久久影院老司| 国产成人免费视| 亚洲精品精品亚洲| 欧美日韩精品欧美日韩精品一综合 | 丝瓜av网站精品一区二区| 久久久亚洲欧洲日产国码αv| 国产中文字幕精品| 国产精品麻豆一区二区| 欧美日韩高清在线| 成人性生交大片免费看中文| 日韩一区在线看| 色综合久久99| 日本成人在线一区| 久久久久久久一区| 欧美一区二区在线免费观看| 久久99精品国产麻豆不卡| 日本一区二区综合亚洲| 91免费看`日韩一区二区| 肉丝袜脚交视频一区二区| 国产精品水嫩水嫩| 久久亚洲一级片| 91精品国产入口在线| 风间由美性色一区二区三区| 欧美亚州韩日在线看免费版国语版| 亚洲自拍欧美精品| 精品美女一区二区三区| 欧美丝袜丝nylons| 91亚洲大成网污www| 久久精品噜噜噜成人av农村| 中文字幕国产一区| 日韩欧美色综合| 欧美亚洲日本国产| 成人av网站在线| 免费精品视频在线| 香港成人在线视频| 国产日韩欧美不卡在线| 精品国产1区二区| 日韩欧美亚洲一区二区| 欧美丰满少妇xxxbbb| 成人av电影在线观看| 国产高清在线精品| 国产suv一区二区三区88区| 蜜臀91精品一区二区三区| 午夜电影久久久| 伊人色综合久久天天人手人婷| 国产蜜臀97一区二区三区| wwww国产精品欧美| 国产精品天美传媒沈樵| 亚洲精选视频免费看| 午夜精品久久久久久久久| 久久99精品国产91久久来源| 国产一区二区成人久久免费影院| 国产精品亚洲一区二区三区妖精| 成人av在线看| 欧美一区在线视频| 国产一区二区三区黄视频 | www.色精品| 精品国产91九色蝌蚪| 亚洲欧美日韩在线| 91麻豆高清视频| 欧美久久一区二区| 中文字幕精品一区二区精品绿巨人| 亚洲免费视频成人| 亚洲精品免费一二三区| 人人爽香蕉精品| 一本高清dvd不卡在线观看| 欧美一区二区三区色| √…a在线天堂一区| 卡一卡二国产精品| 在线不卡的av| 亚洲与欧洲av电影| 成人黄色免费短视频| 欧美成人官网二区| 亚洲成a人片综合在线| 99久久国产综合精品色伊| 欧美α欧美αv大片| 亚洲成人av中文| 欧美色图激情小说| 亚洲人妖av一区二区| 国产一区二区三区四区五区入口| 欧美三区免费完整视频在线观看| 一区视频在线播放| a亚洲天堂av| 亚洲免费av高清| 中文成人av在线| 亚洲少妇最新在线视频| 久久久精品中文字幕麻豆发布| 欧美国产精品专区| 日本不卡视频在线观看| 精品亚洲成a人| 在线免费观看日韩欧美| 久久精品欧美一区二区三区麻豆 | 国产一区二区三区在线观看精品 | 亚洲激情中文1区| 韩国三级电影一区二区| 日韩美女视频一区二区在线观看| 国产精品国产三级国产| 日韩影院免费视频| 欧美怡红院视频| 亚洲激情六月丁香| 欧美亚洲自拍偷拍| 亚洲精品午夜久久久| 99精品在线观看视频| 国产精品久久久一本精品 | 久久亚洲一级片| 国内精品伊人久久久久av一坑| 日韩一级欧美一级| 老司机精品视频在线| 欧美变态tickle挠乳网站| 久久精品国产在热久久| 精品国精品自拍自在线| 极品瑜伽女神91| 国产亚洲欧美一级| 国产高清不卡一区| 亚洲你懂的在线视频| 欧美日韩午夜精品| 韩国一区二区视频| 久久se精品一区精品二区| 色综合天天综合狠狠| 欧美福利视频一区| 亚洲免费在线电影| 成人污视频在线观看| 制服丝袜一区二区三区| 久久精品一区蜜桃臀影院| 精品一区二区三区在线播放| 99视频一区二区| 日韩毛片高清在线播放| 91精品国模一区二区三区| 理论片日本一区| 中文字幕一区二区三| 欧美日韩精品免费| 不卡在线视频中文字幕| 日韩精品1区2区3区| 国产精品久线在线观看| 日韩一级高清毛片| 色呦呦网站一区| 国产在线精品一区在线观看麻豆| 国产精品乱码一区二三区小蝌蚪| 欧美图片一区二区三区| 国产精品1024久久| 蜜臀91精品一区二区三区 | 麻豆专区一区二区三区四区五区| 久久久综合视频| 91精品国产综合久久久久| 97国产一区二区| 丁香婷婷深情五月亚洲| 激情综合五月婷婷| 免费观看久久久4p| 蜜臀精品一区二区三区在线观看 | 欧美一区二区三区视频免费播放| 色综合久久久久网| 成人国产电影网| 在线免费不卡电影| 色诱亚洲精品久久久久久| 91亚洲精华国产精华精华液| 成人免费高清在线| av成人动漫在线观看| 丰满白嫩尤物一区二区| 国产成a人亚洲精品| 国产成人av影院| 97精品国产露脸对白| 91麻豆6部合集magnet| 欧美色视频在线| 日韩欧美高清在线| 久久精品视频一区| 中文字幕一区在线观看| 亚洲电影中文字幕在线观看| 日韩一区精品字幕| 国产成人免费在线| 日本精品裸体写真集在线观看| 色哟哟在线观看一区二区三区| 一本久道久久综合中文字幕| 欧美理论电影在线| 久久精品日产第一区二区三区高清版 | 欧美男生操女生| 国产日韩欧美在线一区| 亚洲一区二区三区小说| 国内精品在线播放| 欧美色综合网站|