Auto detect IME registry key and show user-friendly error message, instead of 0x80004005.


On some Windows platforms, especillay Vista, IME COM server are not registered properly. That means even you have IME installed (such as Microsoft New Phonetic 2007), you still get an 0x8004005 when using IFELanguage.
It's better that ImeLib could auto-detect the required IME registry keys and show user-friendly error messages before creating the COM object.
Also, ImeLib may provides the following methods in ImeEnging class:
  • IsImeRegisterd(string IME class name) - to check if the specified IME class registered.
  • IsImeInstalled(string imeName) - to check if the specified IME has installed.
  • GetInstalledImeNames - returns all installed IME names.