一、检查一下系统目录下的ctfmon.exe文件是否正常,包括文件是否存在,是否被修改。如果文件被修改了可以从网上下一个回来。
二、检查ctfmon.exe的启动项是否正常,如果启动项不存在了,可以单击“开始”—>“运行”—>输入“msconfig”(引号不要输入),回车—>打开“系统配置使用程序”窗口,选择“启动”标签,找到ctfmon项并在其前面打上钩,点确定,重启机器就可以生效。如果在“启动”页,找不到ctfmon项,说明注册表中已将该项删除,可以单击“开始”—>“运行”—>输入“regedit”,打开“注册表编辑器”,定位到HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun,在窗口的右侧新建名字为ctfmon.exe的字符串值(REG_SZ),并将其值设置为“C:WINDOWSsystem32ctfmon.exe”,然后关闭注册表编辑器,再执行前一步的操作即可。
三、检查任务拦中工具栏上的语言栏是否开启,右击任务栏,选择工具栏,查看“语言栏”前面是否勾选。有时候即使勾选了这个语言栏,输入法依然不会出现,这时候就需要检查一下注册表:HKEY_CURRENT_USERSoftwareMicrosoftCTF,将“DisableThreadInputManager”中的数值改为“0”,这样输入法就可以显示出来了。
四、上面的方法都用到之后,如果还不能解决问题,可以打开控制面板,选择“语言和区域设置”,弹出“语言和区域设置”对话框,单击“语言”标签,在“文字服务和输入语言”下单击“详细信息”按钮,弹出“文字服务和输入语言”对话框,单击“高级”标签,在“系统配置”下,把“关闭高级文字服务”前面的对号取消,然后单击“确定”按钮,输入法图标就回来了。通过上面的方法,输入法不见的问题应该就得以解决了,如果还有异常,可以查看一下ctfmon.exe是否被劫持,打开注册表,查看是否有这样的路径“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionImageFileExecutionOptionsctfmon.exe”,如果存在就直接删掉。
通过上面的方法输入法不能切换的问题就可以解决了。