VC 删除文件到回收站
2010-04-02 18:51
323 查看
要删除文件到回收站,只要用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
//删除文件到回收站中
//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
相关文章推荐
- VC实现删除文件到回收站
- VC 移动,复制,删除文件(SHFileOperation)
- VC++ MFC文件的移动复制删除更名遍历操作
- 怎么找回回收站里已经删除的文件
- 已经清空回收站的情况下怎样恢复刚刚删除的文件(转载)
- 【转】VC++ MFC文件的移动复制删除更名遍历操作
- C#删除文件和文件夹到回收站
- 删除文件到回收站
- RecycleFile()删除文件到回收站
- 不用软件,对回收站删除文件后的恢复(windows 高级技巧)
- 批量删除VC,VS临时文件
- ubuntu创建、删除文件及文件夹,强制清空回收站方法
- VC++通过动态生成并加载DLL,实现可执行文件的自删除
- 删除文件至回收站而不是永久删除
- Python删除文件到回收站
- hadoop回收站trash恢复误删除的文件
- Ubuntu下创删除文件及文件夹,强制清空回收站方建、重命名、法
- Ubuntu学习日记--Lesson2:创建、重命名、删除文件及文件夹,强制清空回收站方法
- 删除文件到回收站rm命令
- VS的VC项目转移过程中可以删除的文件