Platform SDK: International Features

ImmGetProperty

The ImmGetProperty function gets the property and capabilities of the IME associated with the specified input locale.

DWORD ImmGetProperty(
  HKL hKL,        
  DWORD fdwIndex  
);

Parameters

hKL
[in] Input locale identifier.
fdwIndex
[in] Specifies the type of property information to retrieve. This parameter can be one of the following values.
Value Meaning
IGP_PROPERTY Property information.
IGP_CONVERSION Conversion capabilities.
IGP_SENTENCE Sentence mode capabilities.
IGP_UI User interface capabilities.
IGP_SETCOMPSTR Composition string capabilities.
IGP_SELECT Selection inheritance capabilities.
IGP_GETIMEVERSION Retrieves the system version number for which the specified IME was created.

Return Values

Returns the property or capability value, depending on the value of the dwIndex parameter. If dwIndex is IGP_PROPERTY, it returns one or more of the following values.

Value Meaning
IME_PROP_AT_CARET If set, conversion window is at the caret position. If clear, the window is near caret position.
IME_PROP_SPECIAL_UI If set, IME has a nonstandard user interface. The application should not draw in the IME window.
IME_PROP_CANDLIST_START_FROM_1 If set, strings in the candidate list are numbered starting at 1. If clear, strings start at 0.
IME_PROP_UNICODE If set, the IME is viewed as a Unicode IME. The system and the IME will communicate through the Unicode IME interface. If clear, IME will use the ANSI interface to communicate with the system.
IME_PROP_COMPLETE_ON_UNSELECT Windows 98 and Windows 2000: If set, the IME will complete the composition string when the IME is deactivated. If clear, the IME will cancel the composition string when the IME is deactivated (for example, from a keyboard layout change).
IME_PROP_ACCEPT_WIDE_VKEY Windows 2000: If set, the IME processes the injected Unicode that came from the SendInput function by using VK_PACKET. If clear, the IME might not process the injected Unicode, and the injected Unicode might be sent to the application directly.

If dwIndex is IGP_UI, it returns one or more of the following values.

Value Meaning
UI_CAP_2700 Supports text escapement values of 0 or 2700. For more information, see LOGFONT.lfEscapement.
UI_CAP_ROT90 Supports text escapement values of 0, 900, 1800, or 2700. For more information, see LOGFONT.lfEscapement.
UI_CAP_ROTANY Supports any text escapement value. For more information, see LOGFONT.lfEscapement.

If dwIndex is IGP_SETCOMPSTR, it returns one or more of the following values.

Value Meaning
SCS_CAP_COMPSTR Can create the composition string by calling the ImmSetCompositionString function with the SCS_SETSTR value.
SCS_CAP_MAKEREAD Can create the reading string from corresponding composition string when using the ImmSetCompositionString function with SCS_SETSTR and without setting lpRead.
SCS_CAP_SETRECONVERTSTRING: This IME can support reconversion. Use ImmSetCompositionString to do reconversion.

If dwIndex is IGP_SELECT, it returns one or more of the following values.

Value Meaning
SELECT_CAP_CONVMODE Inherits conversion mode when a new IME is selected.
SELECT_CAP_SENTENCE Inherits sentence mode when a new IME is selected.

If dwIndex is IGP_GETIMEVERSION, it returns one or more of the following values.

Value Meaning
IMEVER_0310 The IME was created for Windows 3.1
IMEVER_0400 The IME was created for Windows 95.

Requirements

  Windows NT/2000: Requires Windows NT 4.0 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Imm.h.
  Library: Use Imm32.lib.

See Also

Input Method Editor Overview, Input Method Editor Functions, ImmSetCompositionString, SendInput