gpt4 book ai didi

windows - 在 Windows 8 上以编程方式对文件夹进行排序

转载 作者:行者123 更新时间:2023-12-02 22:54:26 34 4
gpt4 key购买 nike

Windows 8 似乎没有对各个文件夹保留排序顺序。我猜当 explorer.exe 终止时(例如重新启动时),这些首选项会被丢弃吗?让我困惑的是,我只知道在一段时间(比如几天)之后,这些偏好就会完全消失。

有没有办法在 Windows 资源管理器中以编程方式复制排序文件夹(选择上下文菜单中的“排序依据”选项之一)?

假设我在 Windows UI 中打开了一个文件夹。假设该文件夹当前设置为按“名称”排序,运行按大小排序的程序后,我再次检查 Windows 资源管理器中的排序顺序,它现在显示“大小”?

我有一个特定的大文件夹结构,我希望它的所有内容及其子文件夹都按大小永久排序。所以我想在查看它们之前运行这个程序,而不必先单独手动重新排序它们。谢谢!

最佳答案

排序顺序属于 View ,而不是文件夹。您可以在同一文件夹上打开两个 Windows 资源管理器窗口,每个窗口具有不同的排序顺序。

要在 Windows 资源管理器导航到特定文件夹时强制排序顺序,请首先 Hook DShellWindowsEvents::WindowRegistered事件于 shellwindows对象,然后每次触发 WindowRegistered 事件时,枚举 shell 窗口列表并与现有枚举进行比较以查找新的 Windows 资源管理器实例。一旦您获得新实例,请连接 DWebBrowserEvents2::DocumentComplete该实例监听其导航的事件。

导航完成后,DocumentComplete 事件将为您提供目标 URL,您可以使用该 URL 来检测目标是否位于大文件夹结构内。如果是这样,请从 Windows 资源管理器实例中查询 IShellBrowser 服务,然后调用 QueryActiveShellView获取外壳 View 。获得 shell View 后,QI 查找 IFolderView2,然后调用 SetSortColumns .

The Automate the Active Windows Explorer or Internet Explorer Window sample on codeproject拥有大部分代码,除了它调用 IShellView::SelectItem模拟SHOpenFolderAndSelectItems在最后。

关于windows - 在 Windows 8 上以编程方式对文件夹进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31259085/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com