故障现象:用VS2008编译CMD控制台应用程序时相当慢,从开始编译到现实结果至少需要7-8秒,而我电脑是双核2.0G+2G内存,不应该是系统的问题,故从软件上排除故障。再用VS编译MFC程序,发现速度正常,进而从运行里敲CMD.exe,发现速度也很慢,至少6秒,故故障定位为cmd程序错误,上网Google,找到解决办法。

 

因正常机器启动cmd时,会启动conime.exe这么一个输入法编辑器. 但是我发现的启动cmd时并没有启动conime.exe(没有这个当然就不能切换输入法了), 即原来是我输入法编辑器conime.exe被劫持了.


正常Case下:启动cmd时会启动conime.exe进程(任务管理器可以见到),有了这个进程,在cmd下才能切换输入法.
现象:我的机器不但启动cmd时特别慢,而且发现conime.exe这个进程没有起来,也就不能在cmd下切换输入法.
原理:注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options下多了一个conime.exe的项,其值为ntsd -d(这是windows的杀进程的命令).
  由于注册表多了这一项,因此cmd启动时,conime.exe也正常启动,但是由于有了ntsd -d,所以马上又把conime.exe杀掉了.这样启动过程多了这么多的操作,所以启动cmd特别慢,而且在cmd下不能切掉输入法.
搞定Method:把注册表下这一项删除.
结论:现在有些人任务管理器出不来,估计也是这个原来,把taskmgr.exe的注册表项删了应该可以了.

 

 

删除掉相应键值,搞定