[英]C# Clipboard.ContainsImage() is working differently while copying file from file website and from desktop
我正在研究一件有趣的事情。 我想在C#程序中從剪貼板獲取圖像。
代碼示例:
[STAThread]
public Image GetClipboardImage()
{
MessageBox.Show("try to get image");
Image returnImage = null;
if (Clipboard.ContainsImage())
{
MessageBox.Show("getting image");
returnImage = Clipboard.GetImage();
}
return returnImage;
}
當我嘗試從任何網站獲取復制到剪貼板的圖像時,上面的代碼效果很好。 但是,當我從計算機中復制圖像時(例如,我的意思是台式機),它不起作用。 Clipboard.ContainsImage()
在第二種情況下返回false
。
從網絡復制和從桌面復制之間還有另一個區別:在第一種情況下,我無法將圖像從剪貼板粘貼到計算機上的文件夾中。 當然在第二種情況下可以做到。 在第二種情況下,似乎有一個真實圖像和一個包含該圖像的文件。 但我不確定是否可以。
那么,我遇到的問題是什么?如何解決?
下一段代碼演示了一個合適的解決方案
IDataObject myDataObject = Clipboard.GetDataObject();
string[] files = (string[])myDataObject.GetData(DataFormats.FileDrop);
MessageBox.Show(files[0]);
您將顯示Massagebox,其中包含您之前復制到剪貼板的文件的完整路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.