怎么获取资源管理器中某文件夹的排序方式
如何获取资源管理器中某文件夹的排序方式?
win32 API?还是?
比如一个简单的图片浏览器,如果顺序不能和资源管理器中的一样,那么是很烦的
求各位老师解答
------解决思路----------------------
文件夹的没有自己的排序方式,排序方式是视图给的。比如你可以打开两个资源管理器窗口用不同排序方式显示同一个文件夹。如果你可以知道哪个视图是启动你的程序视图的话,你可以调用IShellView::GetItemObject获得当前视图中的所有对象,但是命令行或者IDropTarget都是不会传给你来源信息的。你可以枚举IShellWindows自己找,但是1 UAC打开的时候不一定找得到 2不保证结果只有一个。
如果你的程序支持同时打开多个文件,那么系统传给你的程序的文件名/IShellItem指针应该是已经排过序了的。
win32 API?还是?
比如一个简单的图片浏览器,如果顺序不能和资源管理器中的一样,那么是很烦的
求各位老师解答
------解决思路----------------------
文件夹的没有自己的排序方式,排序方式是视图给的。比如你可以打开两个资源管理器窗口用不同排序方式显示同一个文件夹。如果你可以知道哪个视图是启动你的程序视图的话,你可以调用IShellView::GetItemObject获得当前视图中的所有对象,但是命令行或者IDropTarget都是不会传给你来源信息的。你可以枚举IShellWindows自己找,但是1 UAC打开的时候不一定找得到 2不保证结果只有一个。
如果你的程序支持同时打开多个文件,那么系统传给你的程序的文件名/IShellItem指针应该是已经排过序了的。