★★ 边角研究——WPS表格吃独食,喜欢独霸剪贴板,0.5秒内不让其他程序染指问题
提示:本篇是分析心路历程,快速解决问题的直接评论区。
有网友反应:
每次用PIXPIN复制,就会报错问题。出现“系统剪贴板数据异常”警告
我测试了一下,发现没有这个问题。有可能是网友安装环境问题,于是留言:
网友随即表示:
关键在“立即”上。
当然,即使不借助工具,我这样的高手,手速显然也是够快。
然后操作后,发现确实如此!
慢操作不会提醒,只要操作速度够快,就会出现提醒(约在0.5-0.3秒内吧)
一开始我判断是PIXPIN的问题,是PIXPIN撤出剪贴板过慢,而导致的。
随后我又用WPS内置剪贴板测试了一下。发依然面临这样的问题。显然是WPS本身的问题。
依次又测试了快速切换文本和图片的复制,发现两者同样都存在问题。
跨程序,快速复制纯文本会报错:
纯图片也会报错:
甚至再打开一个WPS表格,都不行!
哈哈,这就有意思了,本是同根生,相煎何太急。
都是亲兄弟啊,咋都不让别人吃呢。
只有一种情况下,是不报错的。
就是同一个WPS表格窗口,再拖拽出来一个。这时候,魔咒才能够解除了。
只有遇到双胞胎的兄弟,他才嘴下留情了点。
哪怕是同一个窗口拖出来的,一母同胞的WPS文档,都不行。一样报错。我管你那个。
哈哈。
只有同窗口拖拽的WPS表格可以不受限制,无弹出警告。
多轮对比测试完成。
然后我直接放开表格,用WPS文本测试了一下:
发现文本并没有提示。
那就有三种可能:
WPS本身就没有这个提示
WPS 复制功能优化的好,速度远快过手速,因此没问题
复制文本本身是不会出现这个问题,只有图片会
和WPS表格之间的想法交集的是3。
于是我就测试只在WPS表格里只复制本文。
第一种操作,复制单元格
第二种操作,进入单元格内,只复制纯文本
通过两种对比,我们发现,当只复制文本时,并无此警告现像,和WPS文档内操作相同。
而复制单元格(后台同时复制图片时)就有警告了。
于是我想当然的认为,应该是WPS表格的双层复制机制造成的。
再说一下WPS表格复制单元格的过程是:
后台先复制文本,然后紧随其后就复制整个单元格为为图片,或者截图。
这都是自动的,这种复制以备用复制后“粘贴为图片”使用。
所以在你看不见的隐蔽里,有了这样的双层啰嗦机制。后台当然就复杂了。
一复杂,就需要一个过程。
这个过程虽然极短,但总比单纯复制一个要磨叽多了,所以只要你操作足够快,短于这个响应过程,WPS表格还没有反应过来,还没来及完成两项操作,你就抢先抢剪贴板,它就会报错。
(当然我这篇文章也啰嗦起来,我这是以毒攻毒。)
为了证实我的猜测,我就单独复制一下WPS表格里的图片。看看是不是没有警告了。
满怀期待的检验,发现我还是判断错了。
不复制单元格,单独复制一张图片,也还是会报错。
那我就怀疑,是不是WPS表格里图片在复制到WPS剪贴板时,会经过后台的一些处理,比如自动压缩什么的(以节约内存),而导致的复制过程变慢?
于是我就关闭了一个选项:
但是没有效果。我怀疑这是针对保存文件而言,而并非针对剪贴板里的复制。
事到如今,别的选项也没有了。下一步进展就受阻了,找到问题大概,但是没有办法继续验证和纠正。
我就想着复制的时候只复制文本,不复制图片。这样只要图片不复制,就没有这个恼人的提示了。
就用了方方格子里的一个功能:监测粘贴板。
发现还是低估了WPS表格护食的决心。依旧报错。
你即使复制纯文本,但你还是动了他的奶酪了。还是报错。
但是细看报错的内容不同了,是检测到复制异常。不是刚才的剪贴板数据异常。
到这里我分析,是不是WPS内置的剪贴板造成的?
把剪贴板屏蔽了看看(没关系,WIN还有自己的系统剪贴板)。
找了一圈,发现WPS没有屏蔽剪贴板的选项。(设置里有一个不显示剪贴板,但是只是针对是否显示程序界面,并非屏蔽程序本身)
而目录里也没有剪贴板这个单独的可执行文件。
再找了一下,发现,WPS内置剪贴板是调用的 multiclipboard文件夹下的multiclipboard.dll文件。
下面还有很多其他琐碎文件。
就直接把整个multiclipboard文件夹屏蔽了。看看行不行
结果涛声依旧。
看来与WPS内置剪贴板无关。
一波三折,九曲十八弯。
我又仔细回想了一下。发现每次都是只有警告提示,而实际上每次的复制、粘贴都是成功的。不受影响的。
那只要另辟蹊径,把警告本身给屏蔽了。其实就OK了。
那当然WPS是没有屏蔽这个警告选项的。
那只有还在安装文件里找。
既然刚才把multiclipboard文件夹屏蔽都还有警告,证明警告肯定并不在剪贴板DLL里。
而剪贴板是在addons里,那会不会其他兄弟文件夹,有剪贴板的内应,会隐藏这个警告提示呢?
然后继续查找,挨个审训,排除嫌疑。
终于,在排查到kccsdk下的kccsdk.dll时,发现了问题所在。这个文件和警告条有直接的关联。
老朋友了,这个是惯犯,很多问题都是由此文件引起的。
这也是一个无关紧要的边缘文件,和很多广告相关。
因此,可以直接把kccsdk屏蔽,屏蔽之后,警告解除。
分析:
要么警告提示程序本身就是在kccsdk.dll里,要么就是kccsdk.dll文件干扰到了正常的复制粘贴,总之屏蔽此文件或文件夹后。警告解除。
终于可以无警告的环境里放心大胆,快速的,进行系列复制粘贴操作了。