MFC程序一切换输入法就卡死
w_xei 2013-01-18 09:58:00 最近编写了一个MFC的SDI程序,使用了多线程、SOCKET、OLEDB等技术,程序运行时只要切换输入法,程序就卡死,不管是用快捷键还是用鼠标选择的方法切换都试过,结果都一样;查看任务管理器CPU占用也是0%,其他程序运行正常,不知是什么原因。
在网上找了好久的资料,有一个好象有点相关:OS在切换输入法时会向线程发一个消息,而自己创建的子线程是没有消息循环的,重载了Run方法等,线程没有窗口,OS发消息给线程就会卡在这里;但为什么OS不发给主窗口消息呢,而且其他多线程程序都没有这个问题,所以怀疑是不是socket有问题,MFC的socket架构好象后台会启动一个线程,但用一个单纯的socket程序测试后不会出现这种情况。
现在不知哪位大侠帮忙指点一下迷津,本人十分感谢