0

我正在使用 Python 2.7 为 Windows 32 开发文件粉碎机。所需功能之一是能够切碎所有回收站内容。

至于其他文件,在回收站之外,我们实现了一个“粉碎”功能,用垃圾覆盖文件内容,并删除文件。

但是,为了在回收站内容上使用这个“粉碎”功能,我们考虑使用这个库。使用这个库,我们可以先取消删除该项目(恢复它),然后再粉碎它。但是,这种方法不适合,因为:

  1. 这可能会使将粉碎回收站内容的用户感到困惑,因为他可能会在粉碎时看到回收内容再次出现在文件系统中。

  2. Windows 将显示“Resotring”对话框,同时取消删除功能正在运行。这是不可取的。

关于如何实施回收站碎纸机有什么建议吗?

4

1 回答 1

2

您可以使用 Pywin32 中的 shell 模块来获取真实路径:

from win32com.shell import shell, shellcon
idl = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_BITBUCKET)
d = shell.SHGetDesktopFolder()
sf = d.BindToObject(idl, None, shell.IID_IShellFolder)

for i in sf:
    print sf.GetDisplayNameOf(i, shellcon.SHGDN_NORMAL)
    print sf.GetDisplayNameOf(i, shellcon.SHGDN_FORPARSING)
于 2013-02-22T03:45:39.103 回答