VC 删除文件到回收站

来源:互联网 发布:mac查看mysql安装目录 编辑:程序博客网 时间:2024/05/01 06:10

      要删除文件到回收站,只要用SHFileOperation函数就行了,下面的代码我将为你演示了这一个函数的用法。当然你可以直接拷贝到你的项目中。
//删除文件到回收站中
//pszPath  : 待删除的全路径文件名
//bDelete  : TRUE 删除,不移到回收站,FALSE:移到回收站
//返回    : TRUE 删除成功     FALSE 删除失败
BOOL CDelFileToRecycleDlg::Recycle(LPCTSTR pszPath, BOOL bDelete/*=FALSE*/)
{
    SHFILEOPSTRUCT  shDelFile;
    memset(&shDelFile,0,sizeof(SHFILEOPSTRUCT));
    shDelFile.fFlags |= FOF_SILENT;      // don't report progress
    shDelFile.fFlags |= FOF_NOERRORUI;     // don't report errors
    shDelFile.fFlags |= FOF_NOCONFIRMATION;    // don't confirm delete
   

    // Copy pathname to double-NULL-terminated string.
    //
    TCHAR buf[_MAX_PATH + 1]; // allow one more character
    _tcscpy(buf, pszPath);   // copy caller's pathname
    buf[_tcslen(buf)+1]=0;   // need two NULLs at end

    // Set SHFILEOPSTRUCT params for delete operation
    shDelFile.wFunc = FO_DELETE;       // REQUIRED: delete operation
    shDelFile.pFrom = buf;         // REQUIRED: which file(s)
    shDelFile.pTo = NULL;          // MUST be NULL
    if (bDelete)
    {         // if delete requested..
        shDelFile.fFlags &= ~FOF_ALLOWUNDO;    // ..don't use Recycle Bin
    }
    else
    {           // otherwise..
       shDelFile.fFlags |= FOF_ALLOWUNDO;    // ..send to Recycle Bin
    } 
    

     return SHFileOperation(&shDelFile);    // do it!
}

 

 

如果要是直接删除的话用CFile::Remove("D://1.txt");   //删除文件D盘的1.txt文件。

 

ZZ:http://longandrong.blog.sohu.com/19264151.html 

原创粉丝点击