我遇到的情况
在推嘎啦game的时候,打通关了出现黑幕播报,esc及enter没法跳出去,于是乎一通乱按试图退出,然后那个讲述人就开始叭叭了,本以为只是误打开,但是当在设置里关闭掉讲述人后,桌面的讲述人确实是关闭了,但是回到应用,讲述人依然在,并且无论是重启机器还是重启应用,只要一打开那个应用,讲述人都关不掉,设置辅助功能等都没用。
解决办法
在讲述人出现的那个应用的安装目录下,找到名为say.vbs
的文件,从文件名可以看出,这是一个叫say的脚本文件,就是讲述人会调用的那个脚本。
删除这个文件,并创建一个say.txt文件,打开后输入WScript.Quit(0)
。保存后退出,然后讲say.txt名字修改为say.vbs。简单来说就是修改脚本内容为WScript.Quit(0)
。这个意思就是什么都不执行,这样一来讲述人的脚本就什么都不会执行。
彻底删除讲述人
这软件给恶心到了于是乎我想斩草除根,但是讲述人的应用是系统应用,删不掉,需要设置权限,这边因为讲述人相关的基本都删了,用其他的做示例。
- 右键要删除的文件,安全->高级
- 在所有者那里,点击更改,输入自己的用户名称,具体的名称一般能在C盘,用户文件夹中查看,注意不是本地账户或者微软账户的名称。
- 应用后确认,然后修改权限,把User和Administrators的权限选择完全控制,设置其中一个应该就够了,怕失败就全设置了。
- 应用后就能删除系统文件了,如果怕弄坏系统就重命名下就好了,比如把
Narrator.exe
重命名为Narrator.exe讲述人相关
之类的,我是一气之下shift+del
掉了,目前没什么影响,不过就算删了想弄回来找台别的电脑拷一下就行,都是一样的文件。 - 下面列出讲述人相关的文件,可酌情删除
- C:\Windows\System32\Narrator.exe:讲述人的主可执行文件,只删除这一个似乎不起作用
- C:\Windows\System32\en-ZN\Narrator.exe.mui:提供讲述人的语言资源文件(可能还有个en-US英文的,可以都删除)
- C:\Windows\System32\SAPI.dll:Windows 的语音合成引擎文件,讲述人就是用这个动态链接库的功能进行语音播报的
- C:\Windows\Speech\Common\sapisvr.exe:语音服务器进程,删了可能会导致其他语音播报功能出问题
- 上面的我都删除了,并且暂时没出现任何使用问题,下面的我没删,谨慎删除
- C:\Windows\System32\UIAutomationCore.dll:讲述人对 UI 元素的访问功能,讲述人就是通过这个来识别屏幕上的字的
- C:\Windows\System32\Accessibility.ni.dll:辅助功能的一些操作的动态链接库
- C:\Windows\System32\Speech_OneCore\Common\:这个文件夹里的是语音合成的一些动态链接库
其他
通过上述操作,实际上后台的脚本还是存在的,例如直接删除讲述人而不替换脚本就会一直报错,但是这个脚本在计划任务里是找不到的,应该是系统内部直接运行的脚本,需要通过注册表去清理这个垃圾脚本。Win+R,输入regedit打开注册表(或者直接在搜索框搜索注册表),然后按Ctrl+F搜索say.vbs
和narrator
相关脚本,删除就好了。
建议检查这些地址的注册表
- 自动加载脚本配置1:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- 自动加载脚本配置2:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- 辅助功能的配置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility
- 脚本调试的配置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
- 系统默认脚本的配置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services