是否可以禁用已使用ChangeClipboardChain挂钩Windows剪贴板的其他程序

时间:2018-04-04 16:19:31

标签: winapi vsto clipboard

我有一个应用程序,使用剪贴板作为中介在Word文档中插入大量文本。我要么使用VSTO中常用的粘贴命令,要么间接执行相同操作的各种其他API调用。我不控制所有插入内容,所以我不能只使用Range.InsertFragment或其他替代方案。

在某些机器上,用户可以使应用程序挂钩剪贴板以执行其他很酷的操作,例如保存剪贴板堆栈等。例如,我使用并且喜欢ArsClip来让我访问最近50件事情我放入剪贴板,它表明了问题。还有很多其他类似的工具。

大多数时候,我相信这些程序使用ChangeClipboardChain来挂钩剪贴板,但我不确定是否还有其他方法可以做到。

如果某些其他程序正在运行,我总是遇到一些问题,Office 2016中的问题变得更加严重。

  • 对于Office的早期版本,症状是.Paste操作在相当长的超时后会失败,并且它偶然发生但偶尔会被忽略。
  • 对于Office 2016,您会得到相同的长延迟,然后会出现“操作被组织策略阻止”的错误,并且频率会增加一个数量级。

我通常必须通过搜索有问题的程序并将其删除来缓解这种情况,但这显然是一种失败的长期策略。

所以有人知道暂时禁用剪贴板链的方法,以便禁用剪贴板监视,然后将其恢复到原来的状态。

作为替代方案,是否有办法至少走一堆观众,看看是否有任何已知问题的孩子,并自动关闭它们。

0 个答案:

没有答案