以编程方式在Windows 8上排序文件夹
Windows 8似乎不会在单个文件夹上保留排序顺序.我猜测explorer.exe什么时候终止(比如重启时)这些首选项会被丢弃?打败我,我所知道的是经过一段时间(比如几天),这些偏好完全失去了.
有没有办法在Windows资源管理器中以编程方式重复排序文件夹(选择上下文菜单中的“排序依据”选项之一)? 这就是说,我在Windows UI中打开了一个文件夹.假设该文件夹当前设置为按“名称”排序,并在运行程序后按大小排序我再次检查Windows资源管理器中的排序顺序,它现在显示为“大小”? 我有一个特定的大文件夹结构,我希望它的所有内容和子文件夹永久按大小排序.因此,我希望在查看它们之前运行此程序,而不必先单独手动重新排序它们.谢谢! 解决方法
排序顺序属于视图,而不属于文件夹.您可以在同一文件夹上打开两个Windows资源管理器窗口,每个窗口都有不同的排序顺序.
要在Windows资源管理器导航到特定文件夹时强制排序,首先将DShellWindowsEvents::WindowRegistered事件挂钩到shellwindows对象,然后每次触发WindowRegistered事件时,通过shell窗口列表枚举并与现有枚举进行比较以查找新窗口资源管理器实例.一旦掌握了新实例,就可以为该实例连接DWebBrowserEvents2::DocumentComplete事件以收听其导航. 导航完成后,DocumentComplete事件将为您提供目标URL,您可以使用该URL来检测目标是否在您的大文件夹结构中.如果是这样,请从Windows资源管理器实例查询IShellBrowser服务,然后调用QueryActiveShellView以获取shell视图.获得shell视图后,对IFolderView2进行QI,然后调用SetSortColumns. The Automate the Active Windows Explorer or Internet Explorer Window sample on codeproject有大部分代码,只是它在最后调用IShellView::SelectItem来模拟SHOpenFolderAndSelectItems. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows下安装php的memcache模块的方法
- 无法修改表(使用microsoft sql server management studio 2
- Windows可以处理跨越32位/ 64位边界的继承吗?
- windows-firewall – netsh advfirewall设置商店gpo:%COM
- F12在Windows 7/8上的Delphi调试器中不起作用
- group-policy – 如何在GPO中禁用“重新启动计算机以完成安
- Windows下使用WSRM限制MongoDB内存
- windows下编译 libjpeg以及libjpeg-turbo
- windows-phone-7 – 无法从c#访问应用程序按钮(Windows Pho
- xaml – 如何在Windows 8中增加`GridView`项之间的空格