这几天碰到一个很头痛的问题:我开发一个输入法,用户报告说将它设置成默认输入法时,输入法就出错。 
问题的关键是我的输入法使用了一个比较特殊的结构:使用一个单独的服务进程来做数据转换,服务进程与输入法之间采用Windows的窗口消息进行通讯。 
设置成默认输入法时,在用户登陆的时候,就会启动输入法,而输入法又去启动服务进程。服务进程需要创建窗口等。 
我目前没有跟踪服务器在什么时候出的错(僵死在进程列表中),估计是创建一些控件窗口时出了问题。 
如果能够判断出用户是不是已经正常登陆就可以解决这个问题。 
非常感谢! 
测试程序:http://www.setoutsoft.cn/download/sinstar2-u.rar 
这是我这个输入法的免安装版本,执行install.exe就可以使用了。 
本来服务器启动时也自动启动输入法,输入法又启动服务器,形成死循环,通过在服务器中指定打开英文输入法解决了这个问题。