繁体   English   中英

如何在Windows资源管理器中使用.NET或Windows API更改特定文件夹中的View列? (Windows 7及更高版本)

[英]How do I use .NET or the Windows API to change the View columns in a particular folder in Windows Explorer? (Windows 7 and Up)

在Windows资源管理器中浏览文件夹时,我可以使用用户界面向我的视图添加其他列,这些列在浏览文件夹时通常不存在,例如“文件扩展名”或“语言”。 在Windows 10中,您可以通过单击“查看”选项卡,单击“添加列”,单击“选择列...”,然后选择所需的列并单击“确定”来执行此操作。

我想要做的是以编程方式执行此操作,理想情况下将该列表中的任何列添加到所选目录,希望使用元数据填充该列。 我正在广泛研究可以实现此目的的方法,例如Column Handler shell扩展 ,但是在XP之后删除了对IColumnHandler的支持并且根本不起作用。

从那里,唯一可能的选择是在Windows API中使用Property Handler并直接从注册表中读取值。 但是,我不知道该怎么做。 我已经尝试在网上找到一些如何执行此操作的样本,并且它引导我到处都是一堆死路一条。 我知道这一定很难,但我确信有人设法让它发挥作用。

有没有人有关于如何在Windows API中使用Property Handler将列添加到Windows资源管理器文件夹中的View的任何示例或指导? 我还有其他选择吗? 任何反馈都表示赞赏。

在shell视图中,通过使用PROPERTYKEY结构数组调用IColumnManager :: SetColumns来选择列。

假设您有一个Windows资源管理器窗口的IShellBrowser接口,请调用GetActiveShellView以获取shell视图,然后查询视图对象以获取IColumnManager(C#中的强制转换)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM