使用SHFileOperation删除文件的问题

何以问天涯 2019-02-03 10:26:22
wchar_t *MainWindow::toWCharT(QString a_string)
{
return const_cast<wchar_t *>(reinterpret_cast<const wchar_t *>(a_string.utf16()));
}
bool MainWindow::recycleFile(const QString &a_filename)
{
bool ret = true;
SHFILEOPSTRUCT opRecycle;
opRecycle.hwnd = nullptr;
opRecycle.wFunc = FO_DELETE;
opRecycle.pFrom = toWCharT(a_filename);
opRecycle.pTo = L"\0\0";
opRecycle.fFlags = FOF_ALLOWUNDO; //此Flag表示送进回收站
opRecycle.hNameMappings = nullptr;
opRecycle.lpszProgressTitle = L"Recycling files...";

if(SHFileOperation(&opRecycle) != 0)
{
ret = false;
}
if(opRecycle.fAnyOperationsAborted)
{
ret = false;
}
return ret;
}

有时删除不了文件
...全文
79 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgl7903 2019-02-03
  • 打赏
  • 举报
回复
SHFileOperation Returns zero if successful, or nonzero otherwise.


何以问天涯 2019-02-03
  • 打赏
  • 举报
回复
SHFileOperation(&opRecycle) != 0出问题

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧