我想将文件删除到回收站中。我使用此代码。

    SHFILEOPSTRUCT FileOp;
    FileOp.hwnd = NULL;
    FileOp.wFunc=FO_DELETE;
    FileOp.pFrom= lpFileName; //it's my value  \\?\C:\WorkFolder\qweqw.docx
    FileOp.pTo = NULL;
    FileOp.fFlags=FOF_ALLOWUNDO|FOF_NOCONFIRMATION;
    FileOp.hNameMappings=NULL;
    int t_res = SHFileOperation(&FileOp); // t_res = 124
    return t_res;

我在做什么错?提前致谢。

最佳答案

  • 什么是t_res,应提供错误代码并提示
  • 原因
  • 请注意pFrom接收文件,而不是单个文件,因此您应该使用两个零来终止缓冲区,请参见doc excerpt from MSDN:

  • 关于c - 我无法使用SHFileOperation删除文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11225667/

    10-11 21:50