//删除文件到回收站

API: SHFileOperation
//清空回收站

API: SHEmptyRecycleBin
//检索回收站信息

API: SHQueryRecycleBinA
//恢复回收站文件

在recycled目录下,有个Info2的文件,文件被回收后都被修改了名称,并保存信息到这个文件内,但操作系统不同,结构也不同;所要做的就是根据info2 文件的内容遍历并move 文件到原始位置

看看v 4的结构

偏移 长度 含义

0~259 ,260 ,原文件或目录名称,如果0字节是0,表示无效

260~263, 4 ,文件编号

264~267, 4 ,驱动盘编号0表示A,1=b,2=c

..

268~275, 8 ,删除时间

276~279, 4 ,文件或目录占用空间(字节,保留到“簇”)

v5的结构

偏移 长度 含义

0~259 ,260 ,原文件或目录的短名称8.3命名,如果0字节是0,表示无效

260~263, 4 ,文件编号

264~267, 4 ,驱动盘编号0表示A,1=b,2=c

..

268~275, 8 ,删除时间

276~279, 4 ,文件或目录占用空间(字节,保留到“簇”)

280~799,520,原文件完整名称,Unicode



另外,这些信息都是我原来用delphi 搞的,C#无代码可供参考,抱歉。

本文转自suifei博客园博客,原文链接:http://www.cnblogs.com/Chinasf/archive/2005/04/17/139200.html,如需转载请自行联系原作者