我正在尝试将图像从我的 C# 应用程序拖放到 Skype 并发生以下错误:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。与 Word 等其他应用程序一起使用时,Excel 可以正常工作。
// Find the data behind the ListViewItem
DashboardItem item = (DashboardItem)listView.ItemContainerGenerator.
ItemFromContainer(listViewItem);
DragDropEffects returnedEffect = DragDropEffects.None;
dragging = true;
switch (item.Type)
{
case DashboardItem.ContentType.IMG:
BitmapSource realFile = new BitmapImage(new Uri(item.Content));
if (realFile != null)
{
using (MemoryStream bitmapAsStream = Utils.BitmapSourceToStream(realFile))
{
if (bitmapAsStream != null)
{
using (MemoryStream dib = new MemoryStream())
{
dib.Write(bitmapAsStream.GetBuffer(), 14, (int)(bitmapAsStream.Length - 14));
DataObject dragData = new DataObject(DataFormats.Dib, dib);
//Error next line
returnedEffect = DragDrop.DoDragDrop(listViewItem, dragData, DragDropEffects.Copy);
bitmapAsStream.Close();
dib.Close();
}
}
}
}
}
break;
在将图像拖放到 Skype 时,我想重现与 Windows Explorer 相同的行为。有任何想法吗?