为什么在资源管理器窗口关闭几个GetClipboardData?

时间:2011-02-18 11:28:54

标签: c++ copy clipboard paste

我开发了一些软件来通知用户在未经授权的应用程序中粘贴内容时,我挂钩了GetClipboardData这样做。几乎所有东西都运行正常,但是当我从Word复制内容时,我点击InternetExplorer,我打开一个资源管理器窗口并关闭它,一些GetClipboardData从资源管理器启动。有人能帮我理解这种行为吗? 提前致谢 此致

1 个答案:

答案 0 :(得分:1)

当您执行诸如关闭窗口或做任何使应用程序停止和思考的事情时,从某些应用程序(主要来自Microsoft)收到意外的剪贴板事件是很常见的:“嘿,也许我在剪贴板上留下了一些垃圾,我最好把它清理一下,也许把它重新发布为没有OLE东西的纯文本,也许我已经这样做了,但我记不住了,所以我会再做一次。“这是一种他们建立的强迫症。有时,当您退出程序时,会弹出一个弹出窗口,说“您已将大量数据放在剪贴板上,是否可以将其用于其他应用程序”。那是一回事。基本上,他们在剪贴板上放了一堆格式,需要“延迟渲染”才能粘贴。现在,应用程序担心将无效数据留在剪贴板上,因此必须重新发布数据而不使用花哨的格式。 如果从Excel复制单元格,然后取消突出显示该单元格,也可以获得此选项。 如果你在启动一个应用程序时得到一个剪贴板事件,它可能是一个插件挂钩到剪贴板链,或者可能是犯下最严重的错误:将其图标复制/粘贴到工具栏中。

相关问题