在网上搜索了一大圈,没找到方法~
1.Directory.GetFiles("回收站路径");有人使用"C:\\RECYCLER",这个毫无疑问错误的。
又去搜索获取回收站路径,有个API:SHGetSpecialFolderPath 但是获取回收站路径为空,不知道为什么,有人可以解释下当然最好
2.SHQueryRecycleBin和SHEmptyRecycleBin API ,但是只能实现获取回收站中占用空间大小和文件个数,以及清空回收站的功能,不符合要求。
先在此谢谢了…回收站

解决方案 »

  1.   

    refer : http://bbs.csdn.net/topics/350211801
      

  2.   

    SHGetSpecialFolderPath无法获取虚拟目录,而回收站正好是虚拟目录。有人用C++实现过,你可以参照一下:
    http://www.codeproject.com/Articles/2783/How-to-programmatically-use-the-Recycle-Bin
      

  3.   

    http://stackoverflow.com/questions/18071412/list-filenames-in-the-recyclebin-with-c-sharp-without-using-any-external-files
      

  4.   

    // 删除路径
    var deletedFromPath = (string)recfile.ExtendedProperty("{9B174B33-40FF-11D2-A27E-00C04FC30871} 2");
    // 删除日期
    var deletedDate = (DateTime)recfile.ExtendedProperty("{9B174B33-40FF-11D2-A27E-00C04FC30871} 3");
      

  5.   

    请问这个"9B174B33-40FF-11D2-A27E-00C04FC30871"表示什么意思?
      

  6.   

    这是代表扩展属性的scid,前面的guid是fmtid表示Displaced属性集,后面是pid分别表示
    2 = PID_DISPLACED_FROM:  文件删除路径
    3 = PID_DISPLACED_DATE:   文件删除日期
    http://msdn.microsoft.com/en-us/library/ms538308.aspx