C# 如何使用 Directory.GetFiles() 获取与 Windows 资源管理器中顺序相同的文件?

Sha*_*Lee 5 c# directory

是否可以获取与 Windows 资源管理器中相同顺序的文件

我知道“自然排序”,但这不是我需要的,我需要在 Windows 资源管理器中获取按相同属性排序的文件列表,例如:

如果我通过属性“创建日期”订购了一个目录,那么我将得到一个文件列表,如下所示:

name                    create date    file size
1.txt                   2012/1/1        125Kb
2.tab                   2012/3/2        15Kb
3.bmp                   2013/5/5        26Kb
Run Code Online (Sandbox Code Playgroud)

如果我的 Windows 资源管理器使用属性“文件大小”订购文件列表,则文件列表将是:

name                     create date    file size
2.tab                    2012/3/2        15Kb
3.bmp                    2013/5/5        26Kb
1.txt                    2012/1/1        125Kb
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

Sim*_*zie 4

我认为这将比您预期的复杂得多。文件夹设置存储在注册表中的两个位置:

HKCU\Software\Microsoft\Windows\Shell\BagMRU
HKCU\Software\Microsoft\Windows\Shell\Bags
Run Code Online (Sandbox Code Playgroud)

第一个路径包含反映文件系统结构的结构,第二个路径包含有关这些项目的详细信息,包括名为“Sort”的 REG_BINARY 值,该值记录用于该文件夹的排序顺序。

有关结构的详细信息,请参阅Willi Balenthin 的网站,包括示例代码(Python 语言)