Question

First of all, I am NOT asking about how to change the IME of my own application.

I would like to create a IME toggle program for my own use, like that of Mac OS. Windows 8 got better but Windows 7 sucks at here. Alt+Shift to cycling through more than 2 IMEs are painful. (I use three.) I can assign a shortcut for each language but the keyboard combination sucks and more importantly, there is a bug that the shortcut keeps disappearing.

To create such a program, I need to 1)know the current IME mode (global) 2)set a specific IME mode (globally)

I looked up Windows' IME API, but I could not find any. Is there any way? If there is none, please tell me so. I will also accept that as an answer. If there is any way, just hint me the names of the API, I will search for the details.

Thank you.

Was it helpful?

Solution

I found out the answer myself.

"GetKeyboardLayout" PostMessage WM_INPUTLANGCHANGEREQUEST

OTHER TIPS

The ImmSimulateHotKey function can toggle IME on windows 7 ,but I find the ImmIsIME function is invalidation on win 7。

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top