Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 是否有Winapi方法将文件移动到回收站?_C++_Winapi_Command Line - Fatal编程技术网

C++ 是否有Winapi方法将文件移动到回收站?

C++ 是否有Winapi方法将文件移动到回收站?,c++,winapi,command-line,C++,Winapi,Command Line,我研究了很多不同的方法,但大多数方法都需要在System32中添加一个文件,而我正在寻找一行代码,它允许您在不向计算机添加任何内容的情况下将某些内容移动到回收站,因为我想要一些可以立即在所有Windows计算机上运行的内容。请放心,删除不会删除任何主要文件,并将要求确认。我想用C++中的“系统”来运行这个行。p> 请参见FOF_ALLOWUNDO在alt.comp[1]中提到了许多回收站命令行工具(它甚至包括一个完全自动的守护程序,可将任何文件删除转换为“移动到回收站”) 最受欢迎的似乎是回收,

我研究了很多不同的方法,但大多数方法都需要在System32中添加一个文件,而我正在寻找一行代码,它允许您在不向计算机添加任何内容的情况下将某些内容移动到回收站,因为我想要一些可以立即在所有Windows计算机上运行的内容。请放心,删除不会删除任何主要文件,并将要求确认。我想用C++中的“系统”来运行这个行。p> 请参见
FOF_ALLOWUNDO

在alt.comp[1]中提到了许多回收站命令行工具(它甚至包括一个完全自动的守护程序,可将任何文件删除转换为“移动到回收站”)

最受欢迎的似乎是回收,这是免费的


[1]

重要注意事项:“如果pFrom设置为没有完整路径的文件名,则使用fou DELETE删除文件不会将其移动到回收站,即使设置了FOF_ALLOWUNDO标志。您必须提供完整路径才能将文件删除到回收站。”从链接中:“此功能在Windows Vista中已被替换。”至于我,我看不出使用IFileOperation而不是SHFileOperation函数的任何理由(微软的建议除外),因为它没有提供新功能(目前看来,它只是SHFileOperation的包装器)但是对于那些用C++/MFC编写的人来说,这是一个很大的挑战,因为它需要IShellItem实例,而不仅仅是路径。我希望IFileOperation与SHFileOperation相比,可以提供更多关于执行过程的细节,但是没有。例如,如果操作被取消,IFileOperation和SHFileOperation都无法提供已处理和已取消哪些条目的信息。其他处理错误也是如此。@Mar:我没有尝试过,但
IFileOperation::Advice(IFileOperationProgressSink*,…)
似乎可以让您找出哪些条目已处理,哪些未处理?要查看
SHFileOperation
的实际操作,请查看其中CmdUtils Source.zip\recycle\recycle.c的结尾