我可以全局更改系统的“浏览文件夹”对话框吗?


15

据我所知,每个人都讨厌“浏览文件夹”对话框:

浏览文件夹对话框

该对话框总是太小,很少记住位置,更糟糕的是:迫使您使用枯燥的树形结构浏览整个计算机。

现在,公平地说,某些问题可能与应用程序调用控件的方式有关,而不是设置大小或默认目录等。但是,有关繁琐的树控件的问题仍然存在。

有什么方法可以自定义Windows安装以使用其他控件?最好是可以安全地为您执行此操作的应用程序/安装程序,但是放入兼容的DLL或类似技术也可以。

还是我们永远会受到这种可怕的控制?


您拥有的大多数投诉都是使用它的软件控制的选项。您将不得不替换整个外壳以进行更改。
Ramhound13年

1
这是用户界面的不好借口。
aliteralmind 2014年

2
这个糟糕的用户体验每一次都让我烦恼。
瑞安

Answers:


1

简短的回答,是的,您坚持使用它

长答案:

您提到的函数是Shell32.dll中的SHBrowseForFolder()函数。此功能是从成千上万个程序中链接和执行的,因此,除非您正在编写要修改对话框的特定程序,否则,如果不修改或替换shell32.dll(出于所有目的和目的,超出本网站的范围)。

这是该功能的文档:http : //msdn.microsoft.com/zh-cn/library/windows/desktop/bb762115%28v=vs.85%29.aspx

如果您只是想在正在编写的程序中对其进行更改,请搜索语言/平台的详细信息以找到教程(它们很多)。


2
只是想问一下,对话框的版本稍微有用一点,因为它至少允许您复制/粘贴路径。是自定义对话框,还是带有某些参数的SHBrowseForFolder()本身,还是有单独的函数?
卡兰

@Karan,从我在文档中看到的内容来看,如果将lpbi输入参数设置为指向UFLAGS设置为0x00000010的BROWSEINFO实例的地址,则会出现编辑框。不幸的是,由于它是一个参数,因此只有开发人员可以选择是否逐个显示。
Frank Thomas

谢谢,是的,似乎需要设置BIF_EDITBOX标志。“只有开发人员可以选择显示或不显示”-当然。我并不是在暗示这是最终用户可能希望对二进制文件执行的操作。
卡兰2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.