当前位置:知之问问>百科问答>搜狗拼音输入法总是强制将自己设为默认怎么办

搜狗拼音输入法总是强制将自己设为默认怎么办

2025-01-06 17:58:38 编辑:join 浏览量:584

搜狗拼音输入法总是强制将自己设为默认怎么办

搜狗拼音并不是在每台电脑、每时每刻都会循环强制将自己设为默认,但如果发生这种情况,第一建议是卸载该输入法,可是想必既然你还没有卸载而是到网上来找答案,大约是有舍不得的理由。

下面告诉你解决方法,以及其缺陷,还有我建议你直接卸载忍痛放弃的根本理由。

原理:搜狗输入法依靠调用SGTool.exe修改注册表以达到将自己非法设为默认的不耻目的。

优点:操作简单,无需第三方工具。

缺点:会导致符号大全等(目前就发现它)工具无法使用。

方法:请直接看步骤2。

下图是用我自己的工具替换SGTool之后得到的调用参数,其中每次开机都会执行repair,而每次检测到搜狗不是默认输入法并且在输入法列表中顺序不是第一位都会调整顺序。你要问它为什么能够这么快察觉?是监听了注册表修改吗?

实际不是,它只是在单纯地循环查询输入法的顺序而已,不管你的输入法顺序是不是它想要的,它只管一直查询,你的每次按键都会触发它的查询操作,请看第二张图(不要惊讶图中显示的程序不是搜狗输入法,ime是作为dll被附加到其他程序的进程中的),它的大小是8M,并且会被反复加载,相比之下微软拼音的ime大小是10k,所以我强烈建议你卸载它。

它的云服务和系统服务两个程序查询频率更高,只是我没有截图(我已经把它卸载了),它的所有组件都会忽略系统发生的关闭消息,只有强制关闭才能退出,它的一个组件在退出时会立刻启动另一个相关组件并继续循环修改你的默认输入法设置。

首先定位到搜狗拼音的安装路径,我的是【C:\Program Files (x86)\SogouInput\9.0.0.2502】,具体情况因人而异。

右击SGTool.exe,在上下文菜单中选择属性页面,然后转到安全标签,点击”编辑“按钮。

对”everyone“用户添加”拒绝——读取与执行“权限,如果没有everyone用户则点添加输入法everyone创建该用户的权限,然后点击”应用“。

不要心存侥幸地只拒绝部分用户组的权限,因为ime是附加到别的进程中执行的,其权限属于哪个用户组根本不可预测。

保险起见,回到属性页,为该文件添加只读属性,以避免其被覆盖。实际可能性很小,因为修复程序就是由它启动的。

OK,如果你执意要用的话,以上就是防止搜狗拼音强制将自己设为默认的最简便方法。注意输入法升级后程序路径会变动,需要再次操作。

如果你不想牺牲任何功能,则可以尝试方案2。

原理:搜狗拼音循环将自己设为默认的步骤是查询当前默认输入法列表顺序,检测是否是自己想要的,然后以简单参数启动SGTool.exe代劳。所以我们可以让它查询到错误的注册表,或者修改到错误的注册表,或者双管齐下。

优点:不影响SGTool提供的其他功能,并且也可减少可能的崩溃(也许某次升级之后无法读取SGTool就会导致输入法崩溃)

缺点:操作稍微繁琐,方法丑陋,毫无优雅可言。

方法:请直接看步骤2。

下载并打开飞飞文字修改工具(或者别的什么16进制修改器什么的,但既然你在这找答案,我不认为你能够熟练使用)。

在源文件路径中打开方案1所言SGTool.exe,比如我的是【C:\Program Files (x86)\SogouInput\9.0.0.2502\SGTool.exe】。

新文件路径是自动填写的,你可以尝试将它改成和源文件一致以其能够直接覆盖,省却后面一个步骤。

在”原内容“文本框内填写【Microsoft\CTF】,”新内容“文本框填写【Microsoft\CNM】,这个CNM可以是别的什么,但最好不要改变长度。并且如果你对注册表不了解,还是保持原样,以免不小心覆盖掉同名的有用信息。

点击替换,你会在界面中标注的新文件路径位置得到修改后的文件,将它改成和源文件同名,然后覆盖掉它。

至此,你已经达到了不影响正常功能而禁止搜狗拼音修改默认输入法的目的,但这样做是不建议的。

因为搜狗拼音会反复调用这个程序,大概每秒一次,不停地去写注册表,虽然不会真正改变你的默认输入法,但却造成极大的资源浪费。

后面的步骤可以有效改善这一情况。但是没有图片。

重复前面的步骤,将SogouCloud.exe,我的是在【C:\Program Files (x86)\SogouInput\9.0.0.2502\SogouCloud.exe】也完成同样的修改。因为这个程序是与ime独立的,当输入法切换后有时它会接手循环查询的工作。当它查询后在比较环节出错,便不会启动SGTool,虽然循环查询这个操作没法通过简单的修改禁止,但是循环加载SGTool和写注册表在一定程度上避免了。

但是还没有完,因为不止它会循环查询比较,最主要的是下面两个文件。

将【C:\Windows\System32\SogouPY.ime】同样按照上述步骤修改并替换。这是循环查询的罪魁祸首,这样修改后搜狗输入法便无法通过不同的进程神不知鬼不觉地启动SGTool。

将【C:\Program Files (x86)\SogouInput\9.0.0.2502\SogouSvc.exe】按照同样地步骤修改,它跟SGTool在同一个路径下,但是我的建议是在服务中将它设为禁止启动,因为它真的是一点益处也没有。

好了,如果你执意要用搜狗拼音输入法,那么上述步骤应该能够减轻一些你的痛苦。但长痛不如短痛,还是卸载来得干净。

只有当你用工具监控到CTF这个注册表键每秒究竟被搜狗输入法读取了多少次,你才会真正体会到我的建议有多么地发自真心。

标签:搜狗,拼音输入,默认

版权声明:文章由 知之问问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.zhzhwenwen.com/answer/359960.html
热门文章