列举回收站中的文件和目录
来源:互联网 发布:福建广电网络集团副总 编辑:程序博客网 时间:2024/05/23 01:01
这个例子是在学习Shell程序设计的时候看到的,觉得不错,就记录下来。
#include <windows.h>#include <ShlObj.h>#include <stdio.h>#pragma comment(lib, "Shell32.lib")DWORD ListFileInRecycleBin();int main(){ListFileInRecycleBin();system("pause");return 0;}DWORD ListFileInRecycleBin(){CHAR szPath[MAX_PATH];IShellFolder *pisf = NULL;IShellFolder *pisfRecBin = NULL;SHGetDesktopFolder(&pisfRecBin);IEnumIDList *peidl = NULL;LPITEMIDLIST pidlBin = NULL;LPITEMIDLIST pidlCurrent = NULL;SHGetFolderLocation(NULL, CSIDL_BITBUCKET, NULL, 0, &pidlBin);pisfRecBin->BindToObject(pidlBin, NULL, IID_IShellFolder, (void**)&pisf);pisf->EnumObjects(NULL, SHCONTF_FOLDERS | SHCONTF_NONFOLDERS | SHCONTF_INCLUDEHIDDEN, &peidl);STRRET strret;ULONG uFetched;HANDLE hOutPut = GetStdHandle(STD_OUTPUT_HANDLE);printf("\nFiles In Recycle Bin:\n");while (1){if (S_FALSE == peidl->Next(1, &pidlCurrent, &uFetched))break;SHGetPathFromIDList(pidlCurrent, szPath);pisf->GetDisplayNameOf(pidlCurrent, SHGDN_NORMAL, &strret);WriteConsoleW(hOutPut, L"\t", 1, NULL, NULL);WriteConsoleW(hOutPut, strret.pOleStr, lstrlenW(strret.pOleStr), NULL, NULL);WriteConsoleW(hOutPut, L"\n", 1, NULL, NULL);}ILFree(pidlBin);ILFree(pidlCurrent);pisf->Release();pisfRecBin->Release();peidl->Release();return 0;}
我电脑中回收站截图如下:
程序运行结果如下:
- 列举回收站中的文件和目录
- Windows下使用FindFirstFile和FindNextFile列举目录中的文件
- c列举文件目录
- [Java 8] (4) 列举目录下的所有文件和监视文件变化
- 如何列举目录下的文件
- ios 计算文件夹大小 列举目录/文件
- 文件和回收站操作(四)
- UNIX中的文件和目录
- 列举编程中的常见错误和解决方案
- 清除ubuntu的回收站中的大量文件
- python列举目录(包括子目录)下的所有文件
- shell之列举目录下的所有文件(含子目录)
- java递归分层列举目录以及文件(排序)
- linux编程学习1-列举一个目录下的文件
- [Python]列举出目录中某类文件的路径
- C/C++列举目录下的文件列表
- 使用_.htaccess_文件禁用_Web_目录列举
- Python中的文件和目录操作
- VC sdk菜单不能显示
- 出港了
- memcpy()和memmove()的区别
- 20130408-[转]uIP中文协议文档:Ch01 .
- 高精度运算类bign
- 列举回收站中的文件和目录
- C语言-------字符串库函数的使用
- 测试
- linux C经典面试题十四
- hdu2053
- POJ1679次小生成树n*n复杂度 克鲁斯卡尔+dfs+临界表
- Inner Class(内部类)面试题
- SSH的update实现方法
- 在满心迷茫的时候对VB.NET的总结