是否有Winapi的方式将文件移动到回收站?

问题描述:

我已经研究了很多不同的方法,但大多数都需要向System32中添加一个文件,而我正在寻找一个允许您将某些东西移动到回收站而不需要添加任何东西的计算机,因为我想要一些能立即在所有Windows计算机上运行的东西。请放心,删除不会删除任何主要文件,并会要求确认。我正在考虑在C++中使用system(“”)来运行该行。是否有Winapi的方式将文件移动到回收站?

参见SHFileOperationFOF_ALLOWUNDO

+7

重要的警告:“如果pFrom中设置为一个文件名没有完整路径,删除与FO_DELETE文件不将其移动到回收站,即使FOF_ALLOWUNDO标志。您必须提供将文件删除到回收站的完整路径。“ – 2011-04-08 22:08:55

+0

从链接:“这个功能已经在Windows Vista中的[IFileOperation(https://msdn.microsoft.com/en-us/library/bb775771.aspx)所取代。” – Miscreant 2017-06-28 08:49:20

有许多这里提到的alt.comp回收斌命令行工具[1](它甚至还包括一个全自动的守护进程,转换任何文件删除到“移动到回收斌”)

最受欢迎似乎是从CmdUtils by Maddog回收,这是免费open source (GPL)

[1] Command line delete to recycle bin?