It would help if you explained WHY you occasionally need to change the IME settings as many people may know nothing about them.
I had to look this up before replying to your question at UA
For example, see .....
Again you are right.
I should have explained the situation too.
When we add a double-Byte character language such as Japanese or Chinese to windows keyboard layout, Windows adds a tiny program called IME. This program sits in the taskbar and gives us the power to change keyboard layout. Once it turns ON we can type Japanese/Chinese. Once we turn it OFF, we can type with normal layout of keyboard and type English or Numbers.
It's true for all double-byte character languages such as Japanese-Chinese-Arabic-Persian-Korean etc. Maybe the whole Asian languages.
So we are using keyboard short cuts million times a day to type a document or anything else to move between keyboard layouts.
Now imagine a form that is used for adding or updating customer data.
Name, Address, title etc should be written with IME ON because they use let's say Japanese characters.
But TL - Mail Address - zip - URL etc should be written with IME OFF because we need type them in English alphabet.
Now you can realize a user ends up using keyboard shortcuts million times a day.
Forms are great. Every textbox on a form has three property dedicated to IME. Make it ON or OFF when activated, Keep the situation when exiting the text box and which Dictionary to use. (Refer to my image in ulteraccess. I can't upload an image here.)
So when a user is presented with a form to input data, I have full control over IME. Turn it On/OFF when necessary to speedup the input or prevent possible miss types.
The problem is when the program shows an InputBox for data, Users have to use keyboard or mouse click on task bar to change layouts and be able to type Kanji (Japanese Character) or English alphabets.
For sure, my application users would be much happier if the program turns on IME On/OFF when giving them an inputbox to type data.
You may think a SendKey may do the magic. But it won't.
Because the same short cut is used to turn it ON or Off. Once pressed, if it's ON, it turns OFF. If it is OFF, it turns ON.
So before using SendKey, I have to be sure IME is ON or OFF. to be able to decide sending the shortcut or not.
I hope it makes it clear.
EDIT: Isladogs - added screenshot of image from UA