天天看点

VC 删除文件到回收站

      要删除文件到回收站,只要用SHFileOperation函数就行了,下面的代码我将为你演示了这一个函数的用法。当然你可以直接拷贝到你的项目中。

//删除文件到回收站中

//pszPath  : 待删除的全路径文件名

//bDelete  : TRUE 删除,不移到回收站,FALSE:移到回收站

//返回    : TRUE 删除成功     FALSE 删除失败

BOOL CDelFileToRecycleDlg::Recycle(LPCTSTR pszPath, BOOL bDelete)

{

    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