Imm. h file

Source: Internet
Author: User

All user interfaces of the input method call IMM. Implemented by the APIs in H

I found the IMM. H source code show in VC.

// 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 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 );
Long winapi immgetcompositionstringw (himc, DWORD, lpvoid, DWORD );
# Ifdef Unicode
# Define immgetcompositionstring immgetcompositionstringw
# Else
# Define immgetcompositionstring immgetcompositionstringa
# Endif //! Unicode

Bool winapi immsetcompositionstringa (himc, DWORD dwindex, lpcvoid lpcomp, DWORD, lpcvoid lpread, DWORD );
Bool winapi immsetcompositionstringw (himc, DWORD dwindex, lpcvoid lpcomp, DWORD, lpcvoid lpread, DWORD );
# Ifdef Unicode
# Define immsetcompositionstring immsetcompositionstringw
# Else
# Define immsetcompositionstring immsetcompositionstringa
# Endif //! Unicode

Dword winapi ImmGetCandidateListCountA (HIMC, LPDWORD lpdwListCount );
Dword winapi ImmGetCandidateListCountW (HIMC, LPDWORD lpdwListCount );
# Ifdef UNICODE
# Define ImmGetCandidateListCount ImmGetCandidateListCountW
# Else
# Define ImmGetCandidateListCount ImmGetCandidateListCountA
# Endif //! UNICODE

Dword winapi ImmGetCandidateListA (HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen );
Dword winapi ImmGetCandidateListW (HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen );
# Ifdef UNICODE
# Define ImmGetCandidateList ImmGetCandidateListW
# Else
# Define ImmGetCandidateList ImmGetCandidateListA
# Endif //! UNICODE

Dword winapi ImmGetGuideLineA (HIMC, DWORD dwIndex, LPSTR, DWORD dwBufLen );
Dword winapi ImmGetGuideLineW (HIMC, DWORD dwIndex, LPWSTR, DWORD dwBufLen );
# Ifdef UNICODE
# Define ImmGetGuideLine ImmGetGuideLineW
# Else
# Define ImmGetGuideLine ImmGetGuideLineA
# Endif //! UNICODE

Bool winapi ImmGetConversionStatus (HIMC, LPDWORD, LPDWORD );
Bool winapi ImmSetConversionStatus (HIMC, DWORD, DWORD );
Bool winapi ImmGetOpenStatus (HIMC );
Bool winapi ImmSetOpenStatus (HIMC, BOOL );

# Ifdef _ WINGDI _
# Ifndef NOGDI
Bool winapi ImmGetCompositionFontA (HIMC, LPLOGFONTA );
Bool winapi ImmGetCompositionFontW (HIMC, LPLOGFONTW );
# Ifdef UNICODE
# Define ImmGetCompositionFont ImmGetCompositionFontW
# Else
# Define ImmGetCompositionFont ImmGetCompositionFontA
# Endif //! Unicode

Bool winapi immsetcompositionfonta (himc, lplogfonta );
Bool winapi immsetcompositionfontw (himc, lplogfontw );
# Ifdef Unicode
# Define immsetcompositionfont immsetcompositionfontw
# Else
# Define immsetcompositionfont immsetcompositionfonta
# Endif //! Unicode
# Endif // ifndef nogdi
# Endif // ifdef _ wingdi _

Bool winapi immconfigureimea (hkl, hwnd, DWORD, lpvoid );
Bool winapi immconfigureimew (hkl, hwnd, DWORD, lpvoid );
# Ifdef Unicode
# Define immconfigureime immconfigureimew
# Else
# Define immconfigureime immconfigureimea
# Endif //! Unicode

Lresult winapi immescapea (hkl, himc, uint, lpvoid );
Lresult winapi immescapew (hkl, himc, uint, lpvoid );
# Ifdef Unicode
# Define immescape immescapew
# Else
# Define immescape immescapea
# Endif //! Unicode

DWORD winapi immgetconversionlista (hkl, himc, lpcstr, lpcandidatelist, DWORD dwbuflen, uint uflag );
DWORD winapi immgetconversionlistw (hkl, himc, lpcwstr, lpcandidatelist, DWORD dwbuflen, uint uflag );
# Ifdef Unicode
# Define immgetconversionlist immgetconversionlistw
# Else
# Define immgetconversionlist immgetconversionlista
# Endif //! Unicode

Bool winapi immpolicyime (himc, DWORD dwaction, DWORD dwindex, DWORD dwvalue );

Bool winapi immgetstatuswindowpos (himc, lppoint );
Bool winapi ImmSetStatusWindowPos (HIMC, LPPOINT );
Bool winapi ImmGetCompositionWindow (HIMC, LPCOMPOSITIONFORM );
Bool winapi ImmSetCompositionWindow (HIMC, LPCOMPOSITIONFORM );
Bool winapi ImmGetCandidateWindow (HIMC, DWORD, LPCANDIDATEFORM );
Bool winapi ImmSetCandidateWindow (HIMC, LPCANDIDATEFORM );

Bool winapi ImmIsUIMessageA (HWND, UINT, WPARAM, LPARAM );
Bool winapi ImmIsUIMessageW (HWND, UINT, WPARAM, LPARAM );
# Ifdef UNICODE
# Define ImmIsUIMessage ImmIsUIMessageW
# Else
# Define ImmIsUIMessage ImmIsUIMessageA
# Endif //! UNICODE

Uint winapi ImmGetVirtualKey (HWND );

Typedef int (CALLBACK * REGISTERWORDENUMPROCA) (maid );
Typedef int (CALLBACK * REGISTERWORDENUMPROCW) (maid );
# Ifdef UNICODE
# Define REGISTERWORDENUMPROC REGISTERWORDENUMPROCW
# Else
# Define REGISTERWORDENUMPROC REGISTERWORDENUMPROCA
# Endif //! UNICODE

Bool winapi ImmRegisterWordA (HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister );
Bool winapi ImmRegisterWordW (HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister );
# Ifdef UNICODE
# Define ImmRegisterWord ImmRegisterWordW
# Else
# Define ImmRegisterWord ImmRegisterWordA
# Endif //! UNICODE

Bool winapi ImmUnregisterWordA (HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszUnregister );
Bool winapi ImmUnregisterWordW (HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszUnregister );
# Ifdef UNICODE
# Define ImmUnregisterWord ImmUnregisterWordW
# Else
# Define ImmUnregisterWord ImmUnregisterWordA
# Endif //! UNICODE

Uint winapi ImmGetRegisterWordStyleA (HKL, UINT nItem, LPSTYLEBUFA );
Uint winapi ImmGetRegisterWordStyleW (HKL, UINT nItem, LPSTYLEBUFW );
# Ifdef UNICODE
# Define ImmGetRegisterWordStyle ImmGetRegisterWordStyleW
# Else
# Define ImmGetRegisterWordStyle ImmGetRegisterWordStyleA
# Endif //! UNICODE

Uint winapi ImmEnumRegisterWordA (HKL, REGISTERWORDENUMPROCA, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister, LPVOID );
Uint winapi ImmEnumRegisterWordW (HKL, REGISTERWORDENUMPROCW, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister, LPVOID );
# Ifdef UNICODE
# Define ImmEnumRegisterWord ImmEnumRegisterWordW
# Else
# Define ImmEnumRegisterWord ImmEnumRegisterWordA
# Endif //! UNICODE

# If (WINVER> = 0x040A)
Bool winapi ImmDisableIME (DWORD );
Dword winapi ImmGetImeMenuItemsA (HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMINFOA, DWORD );
Dword winapi ImmGetImeMenuItemsW (HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD );
# Ifdef UNICODE
# Define ImmGetImeMenuItems ImmGetImeMenuItemsW
# Else
# Define ImmGetImeMenuItems ImmGetImeMenuItemsA
# Endif //! UNICODE

# Endif/* WINVER> = 0x040A */

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.