【问题标题】:Get the field on which the explorer window is sorted获取资源管理器窗口排序的字段
【发布时间】:2023-03-21 05:26:02
【问题描述】:

我想知道是否有办法知道 Windows 资源管理器窗口中的文件是如何排序的。有点像窗口的“ORDER BY”子句。 示例:“名称升序”或“修改日期降序”。

这个问题不是关于窗口的名称排序算法,而是关于特定打开的 Windows 资源管理器窗口的用户定义的排序标准。

目标是,当我在 Windows 资源管理器中双击图像时,启动我的程序(那里没问题),并找到上一个和下一个图像(对于我的程序的上一个和下一个按钮),如它在资源管理器窗口中。

你知道这是否可能吗?如果可以,怎么做?

如果用 C# 就完美了,但即使是 C++ 也很棒。

【问题讨论】:

  • 查看这个shell扩展教程codeproject.com/Articles/722/…
  • 如果打开了两个资源管理器窗口,每个窗口都有不同的排序顺序怎么办?
  • @RaymondChen :我想,如果在这个文件夹上打开了 2 个窗口,我会使用“最近”的一个(另一个窗口),但那将是另一个问题,我敢肯定我很容易在互联网上找到答案。
  • 如果没有打开窗口呢?无论如何,一旦你确定了你想要哪一个,你就可以调用 IFolderView2::GetSortColumns。

标签: c# c++ sorting explorer


【解决方案1】:

我想您可以使用 shell 扩展将所有 Windows 资源管理器会话的当前排序顺序在它们更改时保存到磁盘,并带有时间戳。然后在需要时将这些数据读入您的应用程序,以决定如何呈现 UI。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 1970-01-01
    • 2010-11-28
    相关资源
    最近更新 更多