c++ - 如何将文件夹删除到回收站

标签 c++ windows directory recycle-bin

我在C++、MFC、windows下编程。

我想将文件夹删除到回收站。 我怎样才能做到这一点?

    CString filePath = directorytoBeDeletePath;
    TCHAR ToBuf[MAX_PATH + 10];
    TCHAR FromBuf[MAX_PATH + 10];
    ZeroMemory(ToBuf, sizeof(ToBuf));
    ZeroMemory(FromBuf, sizeof(FromBuf));

    lstrcpy(FromBuf, filePath);

    SHFILEOPSTRUCT FileOp;
    FileOp.hwnd = NULL
    FileOp.wFunc=FO_DELETE; 
    FileOp.pFrom=FromBuf;
    FileOp.pTo = NULL;
    FileOp.fFlags=FOF_ALLOWUNDO|FOF_NOCONFIRMATION;
    FileOp.hNameMappings=NULL;
    bRet=SHFileOperation(&FileOp);

上面的代码有什么问题吗? 总是失败。

我发现了问题: 文件路径应该是:“c:\abc”而不是“c:\abc\”

最佳答案

SHFileOperation 的返回值是一个 int,并且应该指定错误代码。你得到了什么?

关于c++ - 如何将文件夹删除到回收站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1254196/

相关文章:

c++ - 在 QtCreator 3.6 中运行两个应用程序

ruby-on-rails - 怎么看Rails的开发日志呢?

java - 如何使用CMD编译多个java文件?

c# - 读取目录子文件夹中的所有文件

c++ - 你如何为 clang 和 gcc 编写一个 makefile?

c++ - 如何修复外部未解析的代码块?

windows - 如何调试 Jenkins 错误消息 "could not find a suitable ssh-agent provider"?

windows - 在所有子目录中调用 git init 的 Powershell 脚本

C++ 迭代器访问下一个元素进行比较

c++ - Poco 在 SMTPClientSession.login 后停止