使用 winzip,您可以将文件从 zip 文件拖到资源管理器中。这是如何运作的?在资源管理器可以复制文件之前,winzip 必须先解压缩它,并且必须在资源管理器复制它之前执行此操作。winzip 是否实现了文件系统驱动程序,或者有没有办法检测何时发生丢弃事件?
我想在我的应用程序中实现类似的事情 - 允许将文件从程序拖动到 Windows,但该文件尚不存在。
使用 winzip,您可以将文件从 zip 文件拖到资源管理器中。这是如何运作的?在资源管理器可以复制文件之前,winzip 必须先解压缩它,并且必须在资源管理器复制它之前执行此操作。winzip 是否实现了文件系统驱动程序,或者有没有办法检测何时发生丢弃事件?
我想在我的应用程序中实现类似的事情 - 允许将文件从程序拖动到 Windows,但该文件尚不存在。
这样做有点痛苦。该外壳支持各种剪贴板格式;在这个场景中感兴趣的是 CFSTR_FILEDESCRIPTOR 和 CFSTR_FILECONTENTS。它的要点是您获得拖动对象的 IStream 表示并将其交给外壳,然后外壳将其复制到放置位置。