深入改造Win2000“位置条”(2)

80酷酷网    80kuku.com

  

  无论是注册表还是其他什么地方,都没有明确地列出位置条的各个文件夹。因此,除非手工或用程序自动创建一组新的位置,否则,Win2K/XP总是使用标准的位置条。

  位置条是一种系统级的资源。一旦把一组位置指定给位置条,所有的Win2K/XP软件都将使用这组位置。这种限制意味着,你不能为记事本的位置条指定一种配置,又为画笔的位置条指定另一种配置,所有在Win2K/XP下运行的程序共享同一组位置——不管这组位置是标准的还是定制的。(Office例外,它可以有一组不同的位置,稍后再详细讨论)。

  要为位置条指定一组新的文件夹,第一步是要告诉系统你不准备再用默认的5个位置。创建HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ComDlg32\Placesbar注册表子键(一般地,Plicies子键可能已经存在,但ComDlg32子键需要自己创建)。创建该子键之后,你可以看到“打开”对话框的位置条已经变成空白了。Placesbar子键告诉Win2K你不想使用标准的位置组合,但这时你尚未指定自己的配置。

  Placesbar子键包含的注册项最多5个,名字从Place0到Place4。Win2K/XP不会认可或正确处理Place5、Place6或其他名字的注册键。位置应当顺序指定,例如,不能设置Place0、Place2漏掉Place1。如果注册表设置的位置既凌乱又不完整,位置条将以不可预知的顺序显示图标和文件夹名字。

  在Placesbar子键中添加位置信息时,指定文件夹的方式是以字符串的形式提供文件夹的完整路径名。注册数据的类型是REG_SZ(如果文件夹的名字中用到了环境变量,则应该是REG_EXPAND_SZ)。

  可以在注册信息中指定系统文件夹作为位置条上的位置。系统文件夹往往有很长的路径,不容易记住(例如,你能够立即说出“我的文档”的完整路径吗?)如果要把“我的文档”或“收藏”指定为位置,你可以使用与具体系统无关的数字ID,而不是使用它的完整路径名。Microsoft把这个ID称为CSIDL。表一列出了Win2K常见系统文件夹的ID。对于这类文件夹,你可以在Placesbar子键下创建类型为REG_DWORD的注册项并指定ID。

表一:Win2K系统文件夹及其ID
文件夹 ID
字体 20
回收站 10
我的电脑 17
网络和拨号连接 49
打印机 4
收藏 6
发送到 9
My Pictures 39
历史 34
网上邻居 18
我的文档 5
Windows系统目录 36

  注意:表一的ID值不适用于XP。如果你使用的是XP,请查找相关资料,或直接使用文件夹的绝对路径。



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: