.Net从剪贴板获取图像,同时其他应用程序正在从中读取/写入?

时间:2009-05-28 09:11:43

标签: .net vb.net

我有一个.net应用程序,每隔100毫秒监视剪贴板,以获取从相机(来自不同应用程序)拍摄的图像,并将其显示在图片框中。

但是,有时将图像写入剪贴板的程序会出现错误

"Can't Open Clipboard".  

仅当使用以下内容监视.net应用程序时才会发生此情况:

Clipboard.GetDataObject().GetDataPresent(DataFormats.Bitmap)

如果我停止.net应用程序读取剪贴板,我不会收到任何错误!

我想知道是否有人有任何想法,如果有更好的方法来解决这个问题。

2 个答案:

答案 0 :(得分:1)

我正打算告诉你,你应该在剪贴板链上注册,以便在发生变化时收到通知。但是Clipboard类似乎没有实现它。但是,您可以使用P / Invoke来执行此操作。 This article应该让你开始。

答案 1 :(得分:0)

我发现this article from vbaccelerator在.Net

中实现剪贴板链钩非常有用