本教程介绍如何删除WPS Office计划任务与后台进程阻止wps的弹窗广告。
在使用WPS Office的过程中总是会在桌面右下角出现弹窗广告。
现在国内大部分软件厂商都是让用户免费使用软件然后靠广告获取利润,这种销售策略是国内大环境决定的,我们无法改变。弹窗广告很烦,但是由于我使用WPS的频率非常低,不愿意付费购买去广告的服务,所以我只能自己写代码来解决这一问题。
WPS Office的弹窗广告是靠WPS的后台进程弹出来的。在任务管理器中我们可以发现WPS在关闭后仍会残留几个后台进程继续运行。
但是仅仅靠手动结束这些进程是无法阻止WPS的广告的,因为过几个小时之后,或者在你使用过WPS后这几个进程会重新出现在你的任务管理器中。由此我怀疑是WPS给我们的电脑设置了定时任务,周期性的启动这几个后台进程,我们打开计划任务面板果然可以发现WPS设置的计划任务。
我们手动把这些计划任务和后台进程删除,在我们不启动任何WPS应用的前提下可以保证不再有弹窗广告,但是一旦我们启动一次WPS应用,所有的计划任务又会被重新注册回来。由此我们可以知道WPS在启动的时候会自己注册后台计划任务来保证自己的广告机制不会因为我们手动删除计划任务而失效,那么我们就必须要找出来是什么事件触发了计划任务的自动注册。
我们去事件查看器里寻找线索,查看计划任务的日志,找到重新注册计划任务的事件ID。计划任务的事件日志默认是禁用状态,我们需要手动启用后,删除已有的WPS计划任务,再重新启动WPS程序触发它的自动注册机制,然后去事件查看器里查看计划任务的事件日志。计划任务在事件查看器中的日志路径为:
Microsoft-Windows-TaskScheduler/Operational
在事件日志中我们发现了事件ID为106的事件注册了计划任务,把这个ID记录下来,我们后续会用到。
由此我们可以得出全面禁止WPS广告的解决方案了,那就是以其人之道,还治其人之身。它会由ID为106的事件触发注册任务事件,那么我们就可以新建一个触发任务也由ID为106的事件触发去删除WPS的计划任务。
我们可以新建一个文本文件,并命名为:
del_sbwps_schtasks.bat
文件内容为删除WPS计划任务和后台进程的批处理命令:
@echo off
setlocal enabledelayedexpansion
set "z=任务名"
for /f "tokens=1,2 delims=: " %%a in ('@schtasks /query /fo list') do (
set title=%%a
set value=%%b
if !title! equ !z! (
echo !value! | findstr "Wps" && schtasks /delete /tn "!value!" /f
)
)
taskkill /im wpscenter.exe /f
taskkill /im wpscloudsvr.exe /f
双击运行这个批处理文件,就可以把WPS所有的后台进程和计划任务删除。要做到系统自动触发运行这个脚本我们需要新建一个计划任务。
在任务计划程序面板里新建一个计划任务,任务名称随意填写,比如我们把任务名称填写为:删除WPS计划任务。然后点击触发页签。
在触发页签我们需要新建触发器,日志选项选择计划任务日志,事件ID为刚刚我们在事件日志里找到的注册任务的那个ID,我这里是106。
在新建完触发规则之后我们切换到操作页签,新建一个当满足触发规则时我们需要执行的操作,当然,在我们这个场景下我们需要运行我刚刚写的删除脚本。操作选择启动程序,程序路径选择我们刚刚写的那个脚本就可以了。
保存并启用我们的计划任务就可以了,由下面的动图可以看出,每次我们启动和关闭WPS都会触发我们的脚本执行,也就是说每次我们使用WPS它都会自己注册计划任务来保证它的弹窗广告服务稳定运行。嗯,求生欲可以说是很强了。
好了,全面屏蔽WPS广告骚扰的程序就这样配置好了,以后再也看不到它的弹窗广告了。
作为一个程序员,我深知软件开发的不易,软件开发成本高昂,厂商选择弹窗广告也是无奈之举。如果您是这个软件的重度用户还是希望您能够购买它的付费服务,并呼吁大家尊重软件版权,支持软件付费使用,为广大软件开发者和厂商构建一个良好的生态环境,促进我国软件行业蓬勃发展。
我同事发现了个他家很不要脸的方法,就是你卸载的时候有选择理由,你选择广告太多卸载,好像会给你关掉的入口,但是有个问题就是你打开WPS的时候,会在状态栏的图标有个小标记,你不去点就放那就可以了,点了右击就会出个广告,但能直接把这个图标一起关了~
对 但是卸载那个关广告只能清净一阵子,过几天广告又回来了
目前我就右下角有一个,而且发现好像开全局加速器的时候好像是没有的,我再多留意留意~