每个 .docx 都被 WPS 抢走,改多少次都没用我把它的机制挖出来了
WPS 的安装升级程序里有一条命令叫 -assowordexcelpowerpnt。它每次升级都会执行一遍,把 .doc/.docx/.xls/.xlsx/.ppt/.pptx 六种文件的默认打开方式改回 WPS。你手动改回来,下次升级它再改回去。
这不是「设置没保存」,不是 Windows 的 bug,更不是你操作有问题。
我电脑上装的是正版 Microsoft Office LTSC 2024 专业增强版,有授权组件,正常激活。但双击任何一个 .docx,打开的都是 WPS。我反反复复去「设置 → 应用 → 默认应用」里改回来,过一段时间,又变回去了。
直到 10 月 20 日 WPS 后台自动升级,我顺手翻了它的安装日志——问题不在我这儿。
一、这里有一条专门针对微软 Office 的命令
WPS 的安装日志在下面这个位置,在资源管理器地址栏直接粘前半段就能打开:
%APPDATA%\kingsoft\office6\log\setup\wpssetup.log
2026 年 10 月 20 日早上 08:42:50,这次升级下发了 60 多条命令,其中这几条是管文件关联的:
WPS 安装日志原文。它没有叫 -assowps,而是直接以微软的三个组件命名。
请特别注意那个命令名。它不叫 -assowps(关联 WPS 自己的格式),它叫 -assowordexcelpowerpnt——直接以微软的三个组件命名。一条命令,三个名字:Word、Excel、PowerPoint。
二、它不是「解析了」,是真的跑起来执行了
上面那几行还只是「安装程序准备执行什么」。下面是同一天早上的实际执行记录:
真实执行记录:08:43:17 启动,08:43:22 完成,08:43:25 回报成功。
翻成大白话:
08:43:17 启动了程序,参数是:接管 Word、Excel、PowerPoint,三个都要(1 1 1)
08:43:22 干完了,status 0
08:43:25 向上汇报:成功(result:0x00000000),耗时 578 毫秒
注意 1 1 1 这三个参数。从命令名看,它们分别对应 Word、Excel、PowerPoint——三个全部置 1,一个不留。(这三个参数的确切含义没有官方文档,是我按命令名推断的,这一点得说清楚。)
三、最要命的一点:同一秒
Windows 把「哪个程序打开哪种文件」记在注册表里,每个键都带「最后一次被写入的时间」。我把两本账都读了一遍:
七月的两批、今天的一批——每一批都是同一秒,毫秒连续。
右边一列(Classes)六个键全部落在 2026-10-20 08:43:17,毫秒 .440 → .441 → .719 → .723 → .861 → .863,逐个递增。
左边一列(UserChoice)落在 7 月 14 日 11:30:10 和 7 月 1 日 15:05:46,每批内部毫秒同样是连续的:.064 → .075 → .111 → .118;.120 → .128。
一个人不可能在 54 毫秒内,在「设置 → 默认应用」里逐个给四个不同的扩展名指定程序。这是程序按顺序批量写入的形态。
也就是说:今天 08:43:17 它写的是 Classes 那一本;而 UserChoice 那一本,在七月就已经被同样的方式写成了 WPS。
再回头看 ksomisc.exe 里那两个函数名——association_hash_request 和 association_hash_set——正好就是算这枚防伪码的。三件事放在一起,就不只是「它可能能改」,而是「它改过,而且留下了时间戳」。
而同一时刻,日志里那行是:
2026-10-20 08:43:17 351 [INFO] Run App:office6\ksomisc.exe,
params=-assowordexcelpowerpnt 1 1 1 -source=1
命令启动在 08:43:17,六个注册表键被写也在 08:43:17。这就是完整的现场:命令起 → 注册表变 → 汇报成功。三样东西对得上。
四、不止一次,是每一次
我往前翻了整个日志,这条命令在历史上出现了 5 次:
2026-07-15 21:08:24 参数 1 1 1 -source=1 成功,耗时 11187 毫秒
2026-07-23 16:58:47 参数 1 1 1 -source=1 有启动记录
2026-07-27 12:17:38 参数 1 1 1 -source=1 有启动记录
2026-09-01 16:03:48 参数 1 1 1 -source=1 成功,耗时 703 毫秒
2026-10-20 08:43:17 参数 1 1 1 -source=1 成功,耗时 578 毫秒
五次,参数一模一样,1 1 1 一个没变。平均两三周一次。
(说明一下:7 月 23 日和 7 月 27 日这两次,日志里只有启动记录,没有「完成」那一行,可能是日志轮转。所以这两次我只说「启动了」,不说「成功了」。其余三次有完整的成功闭环。)
五、它是怎么绕过 Windows 的——私刻公章
这一段是原理,我用大白话讲。
Windows 有两本账,它两本都写;而且它自己会算那枚防伪章。
这里我把话说准确:这是「具备这种能力」的证明,不是「我抓到它盖章的现场」。具体某一次走的是哪条代码分支,那是编译后的机器码,很难还原。但前面第三、四节的证据(命令名 + 执行日志 + 同秒时间戳)已经独立证明了「实际发生过」,不依赖这一段。
六、它自己写的说明,反而成了证据
ksomisc.exe 里还有三句英文说明文字,是程序自己的界面和日志文案:
Check the DOC,XLS,PPT file association during the upgrade,
automatic repair is opened by default
Check the file association during the upgrade, automatic repair is opened by default
Check the pdf file association during the upgrade, automatic repair is opened by default
翻译过来:「升级时检查 DOC、XLS、PPT 文件关联,自动修复默认开启。」
注意两个词:「升级时」和「自动修复默认开启」。它自己承认了:升级时它会检查,而且会自动「修复」,默认就是开着的。
在它眼里,你把默认程序改成 Word,是一种需要被「修复」的「损坏」。
七、为什么你改一次,它有三四次机会改回来
WPS 在系统里留了三个计划任务,我查的时候全部是「就绪」状态:
WpsUpdateLogonTask_(你的用户名) 每次登录时运行
WpsUpdateTask_(你的用户名) 定时运行
WpsWakeWnsLogonTask 每次登录时运行
其中两个是登录触发。每次你开机进系统,它都有一次机会去检查并「修复」。
还有一个配置项:
HKCU\Software\Kingsoft\Office\6.0\common
first_detect_file_association_while_startup = true
「启动时首次检测文件关联」——开着。
还有个细节挺有意思:ksolaunch.exe 这个文件,它没装在安装目录里,而是直接扔在 C:\Users\你的用户名\ 这个用户主目录的根下。
你手动改一次,它有三四个机会改回来。这就是为什么你改多少次都没用。
八、三行命令,你自己就能验证
不用信我,你自己电脑上查。按 Win + R,输入 powershell,回车,一行一行粘下面的命令。
本机实际执行结果:六个扩展名无一例外,全部指向 WPS。
第一行:看你的六种文件现在被谁占着
foreach ($e in @('.doc','.docx','.xls','.xlsx','.ppt','.pptx')) { "$e -> " + (Get-ItemProperty "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$e\UserChoice" -EA SilentlyContinue).ProgId }
正常应该是 Word.Document.12、Excel.Sheet.12、PowerPoint.Show.12 这类(.doc/.xls/.ppt 结尾是 .8)。如果是 WPS.Docx.6、ET.Xlsx.6、WPP.PPTX.6——恭喜,你也被接管了。
第二行:看它有没有干过这事
Select-String -Path "$env:APPDATA\kingsoft\office6\log\setup\wpssetup.log" -Pattern 'assowordexcelpowerpnt'
有输出就是干过。输出几行,就是干过几次。我这台机器上是 34 行。
第三行:看它的计划任务
Get-ScheduledTask | Where-Object { $_.TaskName -match 'wps' } | Select-Object TaskName, State
十、这事违法吗
我查了一下。工信部有个《规范互联网信息服务市场秩序若干规定》(工信部令第 20 号,2012 年 3 月 15 日施行),第七条写着:
互联网信息服务提供者不得实施下列侵犯用户合法权益的行为:
……
(七)未经提示并由用户主动选择同意,修改用户浏览器配置或者其他设置;
第八条:
在用户终端上进行软件下载、安装、运行、升级、卸载等操作的,
应当提供明确、完整的软件功能等信息,并事先征得用户同意。
第十六条是罚则:
违反……第七条的,由电信管理机构依据职权责令改正,处以警告,
可以并处一万元以上三万元以下的罚款,向社会公告。
注意一点:这里不只是「没征求你同意」。我是反复、明确地作出了相反的选择,它照样改回去。这在「未经用户同意」之上,还多了一层。
我只是个普通用户,写这些不是要吓唬谁。如果你也被这样对待,可以直接去工信部的互联网信息服务投诉平台(hlwtsxt.miit.gov.cn)投诉,平台要求企业在 15 个自然日内处理并答复。我已经提了一个。
十一、最后几句
我不是做办公软件的,也不是哪家的竞争对手。我就是个普通用户:自己买的电脑、自己花钱买的 Office、自己装的系统,结果打开自己的文件,还要被一个我不想要的程序抢走。
Lv.2潜力创作者