保存复制到剪贴板中的任何文件类型
本文关键字:任何 文件 类型 复制 剪贴板 保存 | 更新日期: 2023-09-27 17:58:19
我正在使用这篇Stack文章中的代码(特别是第二个答案)来监控剪贴板何时更改。该应用程序的最终目标是,用户可以复制任何文件类型(无论是.xlsx、.pk3、.sln等)、文件夹、图像或字符串,并将其自动保存到临时目录中。不过,我会设置文件大小限制,这样临时文件夹就不会过载。应用程序的总体概念是提供方便,这样用户就可以恢复被复制但随后被删除或丢失的数据。
到目前为止,上面引用的代码非常适合字符串和图像。然而,在查看了DataFormats列表中的项目(即用法:DataFormats.Bitmap)后,我找不到任何文件类型或文件夹的全部捕获。我也找不到任何方法来确定复制了什么类型的文件。有什么办法可以确定吗?例如,如果有一种方法可以复制文件的文件扩展名,那将有所帮助。
也许我的希望太高了。即使我保留了一个允许的文件类型数组(.xlsx、.sln等),我也无法保存该类型的文件。我似乎无法从DataObject类型中获取字节,这将是一个简单的解决方法。
关于我该如何做到这一点,有什么想法吗?谢谢
之所以找不到catch-all,是因为每种格式都是由使用该文件格式的应用程序在主机上注册的。您可以使用获取剪贴板中对象的当前文件格式列表string[]formats=iData。GetFormats();
但你不能只是序列化(精确地复制)任何数据,并将其保存为剪贴板中的最后一个条目吗。GetFileDropList();
似乎所有不是audio/images/string的文件都有一组非常特定的格式不管怎样,只是我的想法
也许看看这里http://www.codeproject.com/Articles/15333/Clipboard-backup-in-C