我是以编程方式使用C#创建文件夹,需要将文件夹的默认视图设置为“缩略图”。
答案 0 :(得分:2)
此处列出了相关的注册表项: http://support.microsoft.com/kb/812003
但是,需要选择“记住每个文件夹的视图设置”才能使该KB文章中的更改生效。对于一个程序来说,如果没有特定的用户提示就改变它,这似乎是“不良行为”。
更新:对于desktop.ini,我使用它的运气量从未如此之高;但是,这个网站似乎列出了一些可能值得研究的CLSID: http://www.xs4all.nl/~hwiegman/desktopini.html
特别是 [ExtShellFolderViews] 部分。我给了它一个旋转,但没有任何运气。
答案 1 :(得分:0)
假设您自己使用ListView
执行此操作,可以将View
属性设置为LargeIcon
,或者如果这还不够(您提及缩略图)您可能应该将OwnerDraw
设置为true并自行绘制。
答案 2 :(得分:0)
我知道操作此设置的唯一方法是通过pInvoke,但看起来没有消息将视图设置为缩略图。 Here是针对WinXP的代码段。
答案 3 :(得分:0)
使用FVM_THUMBSTRIP
调用IFolderView :: SetCurrentViewMode不确定您应该从哪个资源管理器窗口查询IFolderView。用户桌面上可能有多个浏览器窗口,如果您来自较低的完整性级别,那些在较高完整性级别下运行的窗口将拒绝您访问。
答案 4 :(得分:0)
根据此post,您可以引用shdocvw.dll来查询当前的IServiceProvider
。然后获取theIShellBrowser
- > IShellView
- > IFolderView
。当你有IFolderView
时,你可以获得/设置文件夹的当前视图模式。