c# - 将特定文件或文件夹添加到 Windows 资源管理器 View

标签 c# windows file explorer directory

我一直在为我的电脑开发一个标记程序。我需要能够将文件或文件夹列表传递到资源管理器(或类似的东西)中以显示它们并能够像在 Windows 中使用文件夹 View 一样操作它们。

我已经编写了记录和存储与计算机上文件路径相关的标签的软件,我可以动态搜索它们以创建路径列表,但接下来的部分我有点难过。

即使有一个解决方案可以让操作人员认为文件位于“临时”文件夹中并简单地显示它,那也是完美的。

到目前为止,我所有的东西都是用 C# 编写的,但我对这门语言并不挑剔。

提前致谢!

最佳答案

IExplorerBrowser 控件是使用“Windows 资源管理器”控件的 native 界面。这已以 .NET 方式包装在适用于 .NET 框架的 Windows API 代码包中 (http://code.msdn.microsoft.com/WindowsAPICodePack)

您可以从使用该控件开始(有一个 WPF 和 winforms 版本,其中包含您可以绑定(bind)的事件、集合、大量属性/标志等)。

如果这不能为您提供所需的控制,您可以继续使用实际的 Shell 对象。上面的库还提供了对不同类型的 Shell 对象的访问 - 文件、文件夹、虚拟项目(如控制面板)、其他已知文件夹等。您可以查看它们的 Shell 示例并查看用法。

简而言之,您可以在您的应用程序中使用类似 ListBox 的控件并显示文件/文件夹的类型(Shell 中表示的任何内容)。您还可以获得有关每个对象的丰富信息,例如它们的缩略图/图标、属性等。

关于c# - 将特定文件或文件夹添加到 Windows 资源管理器 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1116905/

相关文章:

javascript - 如何使用 jquery 获取文件输入中删除文件的值?

c# - 如何解析 Unity 中的泛型类型

c# - Task.Run 如何受 CPU 内核限制?

windows - 使用脚本在 cmd 或 shell 中终止进程

windows - 类似于 Windows 的 bitbake 的构建工具

python - 在 Python 中读取具有不同列数的大文件的最快方法

c++ - 如何将文本文件复制到另一个文件?

c# - C# 中两个项目中的循环依赖

c# - 依赖注入(inject) : by hand vs autofac

windows - PATH 环境如何影响我正在运行的可执行文件,从使用 msvcr90 到 msvcr80?