如何将文件夹删除到回收站中
问题描述:
我在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,并应指定错误代码。你得到了什么?
答
我知道这是不正确的做法,但如果你不能找到一个解决方案,你可以试试这个..
下载文件nircmd.exe或其他exe文件,可以清空回收站。
然后可以按系统( “nircmd.exe emptybin”)
非常感谢调用这些函数~~~~ – user25749 2009-08-10 10:50:33