//
删除文件到回收站
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#无代码可供参考,抱歉。
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,如需转载请自行联系原作者