我在实现OLE剪切板的DelayRenderData时,将类型设为CF_HDROP,目的是为了实现文件名的延迟提供。按理说应该在一个文件夹上执行粘贴功能时OnRenderData才被调用,但我每次在一个文件夹上点击右键后菜单弹出之前 OnRenderData就被调用了。不知是什么原因,请高手指点。
另外,我分析了一下WINRAR的文件拖放,从WINRAR向外拖放文件实际上是先将文件解压到一个临时文件,然后再把该文件拷贝到目标目录的。我的程序也要实现类似的功能,先告诉剪切板我提供了文件,但是是DelayRender,等系统需要时即OnRenderData被调用时才开始真正生成该文件,然后将该文件名放到剪切板中。不知有没有什么更好的办法实现此功能。