thinhare
24th September 2007 07:48 UTC
Cannot add IME on the fly
I was trying to pack a windows IME (Chinese) using NSIS. To put it into language bar, I added a key into HKCU\Keyboard Layout\Preload and had to reboot to make it take effect.
Is there a way, such as SendMessage, to make it work without reboot?
CancerFace
24th September 2007 08:29 UTC
Yes you can add keyboard layouts on the fly for a running thread. Check this Wiki page.
CF
thinhare
24th September 2007 09:45 UTC
Thanks CancerFace. That has been very helpful.
I haven't had a clue of how to use System::Call, which dll to call (user32 or shell32), what parameters to pass. It would be great if you could shed some light...
CancerFace
24th September 2007 10:46 UTC
If you refer to the system plugin in general, a good start would be its help page.
Also, MSDN is a good source of information on the windows API. And then there are many examples of API usage on the web as well as on the NSIS forum.
Finally Google is your friend (especially groups)
Between those you should usually be able to find an answer, or at least to identify the function that you need to call.
Once you know what API function to use, then it is (usually) pretty straight forward to get the required parameters from MSDN.
There is a neat addon for firefox, a search engine that parses MSDN directly. Get it from here (search for MSDN Library), if you use firefox ...
Hope this helps,
CF
thinhare
24th September 2007 20:22 UTC
Originally posted by CancerFace
Hope this helps,
CF [/B]
Definitely. I am getting into it. Thanks.