急!特急!C#不能清空OFFICE2010的剪贴板Clipboard
用C#开发Excel2010的VSTO项目,虽然使用了Clipboard.Clear(),但不能清空OFFICE2010的剪贴板Clipboard,现象是代码进行清空后,通过Clipboard.GetDataObject().GetFormats()方法查看已经没有可用数据类型了,但Excel的Sheet里边还能粘贴,另外通过FFICE2010的剪贴板监视窗口的清空button已经清空了窗口,但Excel的Sheet里边仍然能粘贴,不知什么原因,难道OFFICE2010没有和系统剪贴板进行交互管理?
[解决办法]
没错,Office从2000开始,引入了多重剪贴板,它会维护系统剪贴板上的支持的剪贴项,而不受剪贴板本身制约。
[解决办法]
Clipboard.Clear(),清空的是系统剪贴板,
而office是多重剪贴板,就像版主所说的一样,他会自动维护
[解决办法]
实在不行时,你可以选择使用钩子!
[解决办法]