24,854
社区成员
发帖
与我相关
我的任务
分享
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;
}