当word处于受保护视图模式下时,使用右键工具栏复制,再粘贴至其它应用时,使用剪切板读取包含rtf格式内容信息时假死的问题

匿名
2021-03-15T02:09:58+00:00

问题描述:当word处于受保护视图模式下时,使用右键工具栏复制,再粘贴至其它应用时,使用剪切板读取包含rtf格式内容信息时假死,此时Word应用会假死(无法做任何操作),使用黏贴的应用也会假死,win搜索栏显示空内容,粘贴功能失效,当word全部关闭时,就又都恢复了正常。

具体步骤为1.打开word,编辑一段文字,使用鼠标右键工具栏复制,再切换其它应用粘贴
疑问:直接ctrl+C ctrl+V好像是不会触发这个bug,怀疑剪切板被word独占

发现:我自己写了个测试代码,发现是DataPackageView  GetRtfAsync()方法似乎发生了错误,会处于一直等待的状态,当关闭所有word相关程序后,才会进入异常处理,报错剪贴板上的数据无效 (Exception from HRESULT: 0x800401D3 (CLIPBRD_E_BAD_DATA))

Microsoft 365 和 Office | Word | 家庭版 | Windows

锁定的问题。 此问题已从 Microsoft 支持社区迁移。 你可投票决定它是否有用,但不能添加评论或回复,也不能关注问题。

0 个注释 无注释
{count} 票

2 个答案

排序依据: 非常有帮助
  1. 匿名
    2021-03-16T09:32:05+00:00

    Hi,文轩李2

    个人感觉这个问题可能和系统剪贴板和word剪贴板有关,文件受保护试图导致无法读取所以报错。

    感谢你的回复,感觉确实像您说的,但是我希望听听更权威的人来解析一下,Word365处于受保护视图模式下,鼠标点右键工具栏>复制时,确实是有RTF格式的内容被Set进了剪切板,因为我的测试程序中确实探测到了RTF格式的内容,当我在程序中使用DataPackageView .GetRtfAsync()异步方法获取Rtf内容时时,会处于一直等待的状态,一直没有返回,从而导致了程序卡死,手动抛出异常也没有用,因为程序已经处于假死状态,系统截切板也无法使用,只有将word关闭后,程序才能正常报错,从假死转为正常状态。同理测试了其它几种格式如Text、HTML Format都不会有卡死的状况,还有一点很奇怪,Ctrl + C Ctrl+V并不会导致这个Bug,还有点击左上开始>复制也不会触发这个bug,我测试的Office2019也不会有这个问题,所以我很怀疑是word365开发人员在右键工具栏>复制时 Set RTF格式的内容时,进行了特殊的处理,或者是处理错误导致了这个问题的发生。

    0 个注释 无注释
  2. 匿名
    2021-03-16T06:07:36+00:00

    Hi,文轩李2

    个人感觉这个问题可能和系统剪贴板和word剪贴板有关,文件受保护试图导致无法读取所以报错。

    0 个注释 无注释