WPF 拖动时出现 Invalid FORMATETC structure

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 拖动时出现 Invalid FORMATETC structure相关的知识,希望对你有一定的参考价值。

原文:WPF 拖动时出现 Invalid FORMATETC structure

如果在 WPF 需要支持一个东西可以拖动,那么可以使用 DragDrop ,但是使用这个之后就出现了异常

System.Runtime.InteropServices.COMException was unhandled
Message: An exception of type System.Runtime.InteropServices.COMException occurred in PresentationCore.dll and wasnt handled before a managed/native boundary
Additional information: Invalid FORMATETC-Structure (Exception HRESULT: 0x80040064 (DV_E_FORMATETC))

如果需要拖动一个文字,那么可以使用下面代码

            DataObject dataObject = new DataObject(DataFormats.Text, "hello");
                DragDrop.DoDragDrop(this, dataObject, DragDropEffects.Move);

这个在程序内拖动不会出现问题,但是如果在拖动在程序外,就会出现

System.Runtime.InteropServices.COMException occurred in PresentationCore.dll
System.Runtime.InteropServices.COMException was unhandled
Message: An exception of type System.Runtime.InteropServices.COMException occurred in PresentationCore.dll and wasnt handled before a managed/native boundary
Additional information: Invalid FORMATETC-Structure (Exception HRESULT: 0x80040064 (DV_E_FORMATETC))

这是正常的,因为这是 windows 的坑。如果拖动的程序无法把你的内容转换为他需要的,那么就会出现这个错误。

只需要忽略就好了

参见 https://stackoverflow.com/a/34092811/6116637

技术图片


本文会经常更新,请阅读原文: https://blog.lindexi.com/post/WPF-%E6%8B%96%E5%8A%A8%E6%97%B6%E5%87%BA%E7%8E%B0-Invalid-FORMATETC-structure.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者前往 CSDN 关注我的主页

技术图片 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

 

 

以下是广告时间

推荐关注 Edi.Wang 的公众号
技术图片

以上是关于WPF 拖动时出现 Invalid FORMATETC structure的主要内容,如果未能解决你的问题,请参考以下文章

GCM 注册时出现 INVALID_SENDER 错误

尝试刷新 googleapis 的访问令牌时出现 invalid_grant 错误

在 CreateProcess 之后调用 GetModuleFileNameEx 时出现 ERROR_INVALID_HANDLE

尝试使用 Discord 的 oauth2 时出现“invalid_grant”错误

创建对 URL 端点的订阅时出现“pubsub 错误 INVALID_ARGUMENT”

运行 React App 时出现“Invalid Host Header”