fee*_*all 5 c# recycle-bin file list
我想要一个函数,它使用 c# 代码检索回收站中的文件名(在 win 7 上)。该框架似乎没有任何内容可以实现这一点。
Directory.Getfiles()对它不起作用,是吗?
我发现自己有一个使用“windows shell32 自动化”的代码,但这需要提供 interop.shell32.dll,它必须与我的应用程序一起重新分发。由于我的应用程序应该独立工作(只要用户计算机上存在 Net Framework 2),这个解决方案并不理想。这个解决方案对我来说似乎也不可靠,因为它使用 COM 自动化并且一些引用可能会失败或调用 Namespace(10) 可能会失败。我什至不确定 Namespace(10) 是否总是适合回收站的文件夹。这段代码是我在 C# 中找到的所有内容。
我在代码项目中找到了 Delphi 和另一个实现,但是如果我在我的 C# 项目中复制该代码,它实际上全是红色下划线,并且无法编译。我不确定如何更正此代码以使其在 C# 中使用。在 pinvoke.net 上,我没有找到我必须使用的 windows 函数的代码 (SHQueryRecycleBin),但也许我必须使用更多函数才能从回收站中获取文件列表。
有没有人看到代码或任何想法?
如果您C:\Windows\System32\Shell32.dll在应用程序中添加引用,您可以轻松访问 Recyle Bin 中文件的文件名
例子:
using Shell32;
public IEnumerable<string> GetRecycleBinFilenames()
{
Shell shell = new Shell();
Folder recycleBin = shell.NameSpace(10);
foreach (FolderItem2 recfile in recycleBin.Items())
{
// Filename
yield return recfile.Name;
// full recyclepath
// yield return recfile.Path;
}
Marshal.FinalReleaseComObject(shell);
}
Run Code Online (Sandbox Code Playgroud)
如果创建的额外文件打扰您,您可以将其嵌入到可执行文件中

| 归档时间: |
|
| 查看次数: |
2393 次 |
| 最近记录: |