API: ImmGetDescriptionA, ImmGetDescriptionW, or ImmGetIMEFileName always return null or zero in Windows 10 RRS feed

  • Question

  • According to several documents in the internet, we could detect the current input method editor using ImmGetDescriptionA or ImmGetDescriptionW in former versions of Windows (GetWindowThreadProcessId → GetKeyboardLayout → ImmGetDescriptionA/W or ImmGetIMEFileName). However, it's not working in Windows 10.

    How can I detect the currently active IME in Windows 10? What are the exact current API in modern Windows system?

    I'm not talking about locales or keyboard layouts. I can detect the currently active keyboard layout using combination of GetWindowThreadProcessId → GetKeyboardLayout. However, I need the information of the IME. Because some custom IMEs shares the keyboard layout, I need another API to detect the specific IME in current Windows 10.

    • Edited by nicnem Friday, May 17, 2019 12:10 PM typo
    Friday, May 17, 2019 12:09 PM