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

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

?? imm.h

?? 一種中文輸入法
?? H
?? 第 1 頁 / 共 3 頁
字號:
/**********************************************************************/
/*      IMM.H - Input Method Manager definitions                      */
/*                                                                    */
/*      Copyright (c) 1993-1995  Microsoft Corporation                */
/**********************************************************************/

#ifndef _IMM_
#define _IMM_        // defined if IMM.H has been included

#ifdef __cplusplus
extern "C" {
#endif

#ifndef _WINUSER_
#define VK_PROCESSKEY 0x0E5
#endif

#ifndef WINVER
#define WINVER 0x040A
#endif

#if(WINVER >= 0x040A)
DECLARE_HANDLE(HIMC);
#else
typedef DWORD     HIMC;
#endif

#if(WINVER >= 0x040A)
DECLARE_HANDLE(HIMCC);
#else
typedef DWORD     HIMCC;
#endif

typedef HKL FAR  *LPHKL;
typedef UINT FAR *LPUINT;

#define NULLIMC  ((HIMC)0)

typedef struct tagCOMPOSITIONFORM {
    DWORD dwStyle;
    POINT ptCurrentPos;
    RECT  rcArea;
} COMPOSITIONFORM, *PCOMPOSITIONFORM, NEAR *NPCOMPOSITIONFORM, FAR *LPCOMPOSITIONFORM;

typedef struct tagCANDIDATEFORM {
    DWORD dwIndex;
    DWORD dwStyle;
    POINT ptCurrentPos;
    RECT  rcArea;
} CANDIDATEFORM, *PCANDIDATEFORM, NEAR *NPCANDIDATEFORM, FAR *LPCANDIDATEFORM;

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;  
                                                        
                                                        
typedef struct tagCANDIDATELIST {
    DWORD dwSize;
    DWORD dwStyle;
    DWORD dwCount;
    DWORD dwSelection;
    DWORD dwPageStart;
    DWORD dwPageSize;
    DWORD dwOffset[1];
} CANDIDATELIST, *PCANDIDATELIST, NEAR *NPCANDIDATELIST, FAR *LPCANDIDATELIST;

typedef struct tagREGISTERWORDA {
    LPSTR   lpReading;
    LPSTR   lpWord;
} REGISTERWORDA, *PREGISTERWORDA, NEAR *NPREGISTERWORDA, FAR *LPREGISTERWORDA;
typedef struct tagREGISTERWORDW {
    LPWSTR  lpReading;
    LPWSTR  lpWord;
} REGISTERWORDW, *PREGISTERWORDW, NEAR *NPREGISTERWORDW, FAR *LPREGISTERWORDW;
#ifdef UNICODE
typedef REGISTERWORDW REGISTERWORD;
typedef PREGISTERWORDW PREGISTERWORD;
typedef NPREGISTERWORDW NPREGISTERWORD;
typedef LPREGISTERWORDW LPREGISTERWORD;
#else
typedef REGISTERWORDA REGISTERWORD;
typedef PREGISTERWORDA PREGISTERWORD;
typedef NPREGISTERWORDA NPREGISTERWORD;
typedef LPREGISTERWORDA LPREGISTERWORD;
#endif // UNICODE

#if(WINVER >= 0x040A)
typedef struct tagRECONVERTSTRING {
    DWORD dwSize;
    DWORD dwVersion;
    DWORD dwStrLen;
    DWORD dwStrOffset;
    DWORD dwCompStrLen;
    DWORD dwCompStrOffset;
    DWORD dwTargetStrLen;
    DWORD dwTargetStrOffset;
} RECONVERTSTRING, *PRECONVERTSTRING, NEAR *NPRECONVERTSTRING, FAR *LPRECONVERTSTRING;
#endif

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;  
                                                        
                                                        
#define STYLE_DESCRIPTION_SIZE  32

typedef struct tagSTYLEBUFA {
    DWORD       dwStyle;
    CHAR        szDescription[STYLE_DESCRIPTION_SIZE];
} STYLEBUFA, *PSTYLEBUFA, NEAR *NPSTYLEBUFA, FAR *LPSTYLEBUFA;
typedef struct tagSTYLEBUFW {
    DWORD       dwStyle;
    WCHAR       szDescription[STYLE_DESCRIPTION_SIZE];
} STYLEBUFW, *PSTYLEBUFW, NEAR *NPSTYLEBUFW, FAR *LPSTYLEBUFW;
#ifdef UNICODE
typedef STYLEBUFW STYLEBUF;
typedef PSTYLEBUFW PSTYLEBUF;
typedef NPSTYLEBUFW NPSTYLEBUF;
typedef LPSTYLEBUFW LPSTYLEBUF;
#else
typedef STYLEBUFA STYLEBUF;
typedef PSTYLEBUFA PSTYLEBUF;
typedef NPSTYLEBUFA NPSTYLEBUF;
typedef LPSTYLEBUFA LPSTYLEBUF;
#endif // UNICODE

#if(WINVER >= 0x040A)
#define IMEMENUITEM_STRING_SIZE 80 

typedef struct tagIMEMENUITEMINFOA {
    UINT        cbSize;
    UINT        fType;
    UINT        fState;
    UINT        wID;
    HBITMAP     hbmpChecked;
    HBITMAP     hbmpUnchecked;
    DWORD       dwItemData;
    CHAR        szString[IMEMENUITEM_STRING_SIZE];
    HBITMAP     hbmpItem;
} IMEMENUITEMINFOA, *PIMEMENUITEMINFOA, NEAR *NPIMEMENUITEMINFOA, FAR *LPIMEMENUITEMINFOA;
typedef struct tagIMEMENUITEMINFOW {
    UINT        cbSize;
    UINT        fType;
    UINT        fState;
    UINT        wID;
    HBITMAP     hbmpChecked;
    HBITMAP     hbmpUnchecked;
    DWORD       dwItemData;
    WCHAR       szString[IMEMENUITEM_STRING_SIZE];
    HBITMAP     hbmpItem;
} IMEMENUITEMINFOW, *PIMEMENUITEMINFOW, NEAR *NPIMEMENUITEMINFOW, FAR *LPIMEMENUITEMINFOW;
#ifdef UNICODE
typedef IMEMENUITEMINFOW IMEMENUITEMINFO;
typedef PIMEMENUITEMINFOW PIMEMENUITEMINFO;
typedef NPIMEMENUITEMINFOW NPIMEMENUITEMINFO;
typedef LPIMEMENUITEMINFOW LPIMEMENUITEMINFO;
#else
typedef IMEMENUITEMINFOA IMEMENUITEMINFO;
typedef PIMEMENUITEMINFOA PIMEMENUITEMINFO;
typedef NPIMEMENUITEMINFOA NPIMEMENUITEMINFO;
typedef LPIMEMENUITEMINFOA LPIMEMENUITEMINFO;
#endif // UNICODE

typedef struct tagIMECHARPOSITION {
    DWORD       dwSize;
    DWORD       dwCharPos;
    POINT       pt;
    UINT        cLineHeight;
    RECT        rcDocument;
} IMECHARPOSITION, *PIMECHARPOSITION, NEAR *NPIMECHARPOSITION, FAR *LPIMECHARPOSITION;

#endif /* WINVER >= 0x040A */

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

HKL  WINAPI ImmInstallIMEA(LPCSTR lpszIMEFileName, LPCSTR lpszLayoutText);
HKL  WINAPI ImmInstallIMEW(LPCWSTR lpszIMEFileName, LPCWSTR lpszLayoutText);
#ifdef UNICODE
#define ImmInstallIME  ImmInstallIMEW
#else
#define ImmInstallIME  ImmInstallIMEA
#endif // !UNICODE

HWND WINAPI ImmGetDefaultIMEWnd(HWND);

UINT WINAPI ImmGetDescriptionA(HKL, LPSTR, UINT uBufLen);
UINT WINAPI ImmGetDescriptionW(HKL, LPWSTR, UINT uBufLen);
#ifdef UNICODE
#define ImmGetDescription  ImmGetDescriptionW
#else
#define ImmGetDescription  ImmGetDescriptionA
#endif // !UNICODE

UINT WINAPI ImmGetIMEFileNameA(HKL, LPSTR, UINT uBufLen);
UINT WINAPI ImmGetIMEFileNameW(HKL, LPWSTR, UINT uBufLen);
#ifdef UNICODE
#define ImmGetIMEFileName  ImmGetIMEFileNameW
#else
#define ImmGetIMEFileName  ImmGetIMEFileNameA
#endif // !UNICODE

DWORD WINAPI ImmGetProperty(HKL, DWORD);

BOOL WINAPI ImmIsIME(HKL);

BOOL WINAPI ImmGetHotKey(DWORD, LPUINT, LPUINT, LPHKL); 
BOOL WINAPI ImmSetHotKey(DWORD, UINT, UINT, 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);
#if(WINVER >= 0x040A)
BOOL WINAPI ImmAssociateContextEx(HWND, HIMC, DWORD);
#endif /* WINVER >= 0x040A */

LONG  WINAPI ImmGetCompositionStringA(HIMC, DWORD, LPVOID, DWORD);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
豆国产96在线|亚洲| 国产精品77777| 欧美理论电影在线| 亚洲成av人片在www色猫咪| 欧美色窝79yyyycom| 日韩专区一卡二卡| 欧美成人一级视频| 成人午夜又粗又硬又大| 一级精品视频在线观看宜春院| 欧美综合久久久| 美女一区二区久久| 中文字幕免费一区| 在线中文字幕一区| 男女男精品视频| 中文字幕乱码日本亚洲一区二区 | 国内精品伊人久久久久av一坑| 久久久精品中文字幕麻豆发布| 99亚偷拍自图区亚洲| 午夜精品久久久久久久 | 久久久精品国产免大香伊| 懂色av一区二区三区蜜臀 | 中文字幕一区二区三区视频| 欧美亚洲愉拍一区二区| 久久精品72免费观看| 国产精品超碰97尤物18| 欧美视频完全免费看| 国产精品综合二区| 亚洲国产精品精华液网站| 久久久精品国产99久久精品芒果| 91久久香蕉国产日韩欧美9色| 久久99久国产精品黄毛片色诱| 中文字幕视频一区| 欧美精品一区视频| 欧美人妖巨大在线| 99这里都是精品| 极品美女销魂一区二区三区免费| 亚洲精品乱码久久久久久| 欧美成人福利视频| 精品视频全国免费看| 成人精品视频.| 极品尤物av久久免费看| 偷拍一区二区三区| 亚洲精品国久久99热| 久久精品综合网| 日韩无一区二区| 欧美视频一区在线| 一本大道av一区二区在线播放| 韩国三级电影一区二区| 日韩精品电影在线观看| 亚洲另类色综合网站| 久久亚洲综合色一区二区三区| 91精品免费在线| 欧美午夜影院一区| 色香蕉久久蜜桃| 色综合天天狠狠| 成人国产精品免费网站| 国产另类ts人妖一区二区| 久久国产麻豆精品| 日本午夜精品视频在线观看 | 中文字幕一区二区不卡| 久久久.com| 精品国产成人系列| 欧美大片在线观看| 欧美xxxxx牲另类人与| 日韩一区二区三区在线| 日韩一级视频免费观看在线| 91.com视频| 91精品黄色片免费大全| 91精品国产综合久久精品| 欧美三级韩国三级日本三斤| 日本道色综合久久| 在线精品视频免费播放| 一本大道av一区二区在线播放| a级精品国产片在线观看| 国产老女人精品毛片久久| 国产福利电影一区二区三区| 国产成人免费av在线| 国产成人在线影院| aaa国产一区| 日本高清不卡视频| 在线播放日韩导航| 日韩欧美精品三级| 欧美精品一区二区在线播放| 久久久噜噜噜久久中文字幕色伊伊| 久久一日本道色综合| 国产丝袜美腿一区二区三区| 国产精品沙发午睡系列990531| 国产精品国产馆在线真实露脸| 亚洲日本乱码在线观看| 亚洲国产日产av| 久久精品国产一区二区| 国产一区二区91| av动漫一区二区| 欧美日本韩国一区二区三区视频 | 国产拍欧美日韩视频二区| 国产精品欧美经典| 亚洲六月丁香色婷婷综合久久| 亚洲高清视频在线| 捆绑变态av一区二区三区| 国产成人鲁色资源国产91色综| 成人综合婷婷国产精品久久 | 成人毛片老司机大片| 一本一本久久a久久精品综合麻豆| 欧美视频在线一区二区三区 | 国产精品私人影院| 亚洲国产精品久久久久秋霞影院| 男人的天堂久久精品| 成人精品亚洲人成在线| 欧美欧美欧美欧美首页| 久久久噜噜噜久久中文字幕色伊伊| 亚洲男人天堂av| 久久精品免费看| 91国偷自产一区二区开放时间| 欧美肥妇毛茸茸| 国产精品免费久久| 久久精品国产**网站演员| 91香蕉国产在线观看软件| 日韩视频中午一区| 亚洲视频小说图片| 久久精工是国产品牌吗| 欧美中文字幕亚洲一区二区va在线| 欧美电影免费观看高清完整版| 亚洲精品一二三| 国产成人av在线影院| 欧美人与禽zozo性伦| 亚洲欧美一区二区在线观看| 老司机精品视频线观看86 | 99久免费精品视频在线观看| 欧美高清激情brazzers| 国产精品高潮久久久久无| 精品一区二区三区免费播放| 欧美亚州韩日在线看免费版国语版| 久久夜色精品国产噜噜av| 午夜国产不卡在线观看视频| 成人国产精品免费观看动漫| 欧美成人免费网站| 日韩中文字幕区一区有砖一区| 成人18视频日本| 久久久国产精品不卡| 日本va欧美va欧美va精品| 欧美在线你懂得| 亚洲日本乱码在线观看| 国产福利一区在线| 精品女同一区二区| 蜜臀久久99精品久久久久久9| 欧美在线视频你懂得| 亚洲色图欧美激情| 成人免费的视频| 久久久久久亚洲综合影院红桃| 日本成人在线看| 欧美伦理视频网站| 亚洲高清视频的网址| 在线观看日产精品| 一区二区三区在线不卡| 91在线视频18| 中文字幕在线视频一区| 成人综合婷婷国产精品久久| 国产亚洲污的网站| 国产一区在线不卡| 久久精品一区二区三区四区| 经典三级一区二区| 久久精品亚洲乱码伦伦中文| 国产精品一区二区免费不卡 | 在线播放视频一区| 日日骚欧美日韩| 制服丝袜亚洲色图| 日本午夜一区二区| 精品国产污污免费网站入口 | av电影在线观看不卡| 国产精品久久久久三级| 成人国产精品免费网站| √…a在线天堂一区| 99国产欧美另类久久久精品| 最新高清无码专区| 99九九99九九九视频精品| 亚洲视频每日更新| 欧洲精品在线观看| 亚洲444eee在线观看| 欧美一个色资源| 国产一区二区三区| 国产精品国产馆在线真实露脸| 色婷婷精品大在线视频| 亚洲丰满少妇videoshd| 日韩亚洲欧美在线观看| 国产精品一区二区久久不卡 | 一区二区三区在线视频免费观看| 欧美最新大片在线看| 日本vs亚洲vs韩国一区三区| 久久久噜噜噜久久人人看| 成人sese在线| 午夜精品爽啪视频| 久久亚洲私人国产精品va媚药| 懂色av一区二区三区免费观看 | 日本视频中文字幕一区二区三区| 欧美一区二区三区免费| 国产a区久久久| 视频一区视频二区中文字幕| 精品日韩在线观看| 91久久精品一区二区三区| 美女视频一区二区三区|