定制全新的Win2000另类“位置条”_Windows2003

与以前的Windows相比,Win2K/XP的用户界面作了不少改进,极大地方便了用户使用Windows。例如,“活动桌面”以HTML为基础,对于Windows NT 4.0用户来说,这是一次巨大的变化。不管你是否喜欢它,新的用户界面为有经验的用户带来了定制桌面的机会,使人们能够更高效地完成日常工作。“打开”对话框属于最常用的对话框之一,在Win 2K/XP的用户界面中,它增加了一个“位置条”,本文要讨论的就是如何定制这个位置条。
  
  本文的说明主要针对Win 2K,但基本原理同样适用于XP,不同之处会另行指出。

  一、“打开”对话框

  也许你已经注意到,一些软件在Win2K/XP下运行时,它们的“打开”对话框与Win9x/NT 4.0下有所不同。图一显示了标准的Win2K“打开”对话框,点击记事本的“文件/打开”菜单即可显示出这个对话框。与以前的操作系统相比,这个对话框新增了一样东西:窗口的左边增加了一个垂直的按钮条。Win2K的SDK文档把这个按钮条称作“位置条”(Places Bar)。

  图一:标准的Win2K“打开”对话框

  位置条的作用是让用户只用一次鼠标点击就可以到达经常使用的文件夹。Win2K/XP位置条包含的按钮最多5个,每个按钮指向一个系统文件夹。点击任意一个按钮,“打开”对话框就会立即显示出对应文件夹的内容。

  默认的位置条分别为下列文件夹各提供一个按钮:历史,桌面,我的文档,我的电脑,网上邻居。“历史”文件夹记录了用户最近使用的文件和文件夹,如果要访问最近用过的文件或文件夹,“历史”文件夹是首先要查看的地方。许多用户还经常要用到其他四个文件夹。

  默认的位置条配置包含了大多数用户最常用的文件夹,满足了大部分用户的需要。然而,这个默认配置可能不符合你的工作习惯,这时你就要对它进行定制了。

  二、定制位置条

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

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

  要为位置条指定一组新的文件夹,第一步是要告诉系统你不准备再用默认的5个位置。创建HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesComDlg32Placesbar注册表子键(一般地,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。


  表一

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

  三、定制过程自动化

  下面介绍一个modifyPlaces.vbs脚本,这是一个自动读取和写入位置信息的程序。在Win2K命令窗口下,执行“CScript modifyPlaces.vbs”或“WScript modifyPlaces.vbs”即可启动该程序,参见图二。程序首先询问你想要修改的位置编号。如果输入0到4之间的数字,程序继续,点击“是”用路径指定文件夹,点击“否”用ID数字指定文件夹。点击“是”之后,程序要求你输入一个完整的路径名,完成后,程序将创建一个REG_SZ注册键。如果选择了“否”,程序要求输入一个系统文件夹ID,完成后,程序创建一个REG_DWORD子键。指定一个位置之后,程序允许你继续指定其他的位置。


  图二:定制位置条

  ' 常量

  const APP_TITLE = "设置“打开”对话框的位置条"

  const REG_PLACESBAR = "HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesComDlg32Placesbar"

  Dim place ' 位置编号

  Dim canContinue ' 逻辑开关' 获取待设置的位置编号

  canContinue = True

  While canContinue

  place = InputBox("输入位置编号 (0到4)", APP_TITLE, 0)

  ' 点击了“取消”按钮...

  If place = " Then

  WScript.Quit

  End If

  If place > 4 Then

  MsgBox "位置编号错误,请指定0-4之间的位置编号!", 16, APP_TITLE

  Else

  ' 位置编号合法,从注册表读取信息

  ChangePlace place

  End If

  Wend

  ' 修改指定的位置

  Sub ChangePlace (place)

  Dim shell, curPath, buf, rc, newPath, theType

  Set shell = CreateObject("WScript.Shell")

  On Error Resume Next

  curPath = shell.RegRead(REG_PLACESBAR & "Place" & place)

  On Error Goto 0

  ' 默认值

  If curPath = " Then curPath = "默认值"

  buf = "

  buf = buf & "位置" & place & "当前被设置为" & _

  Chr(34) & curPath & Chr(34) & vbCrLf & vbCrLf & _

  "点击“是”指定一个普通文件夹" & vbCrLf & _

  "点击“否”指定一个系统文件夹" & vbCrLf & _

  "点击“取消”退出程序"

  rc = MsgBox(buf, 3, APP_TITLE)

  ' YES=6, NO=7, CANCEL=2

  If rc = vbCancel Then Exit Sub

  ' 修改位置

  Select Case rc

  Case vbYes

  newPath = InputBox("输入新的文件夹路径", APP_TITLE, curPath)

  If newPath = " Then Exit Sub

  theType = "REG_SZ"

  Case vbNo

  buf = "

  buf = buf & "选择新的文件夹." & vbCrLf & vbCrLf & _

  "5 - 我的文档" & vbCrLf & _

  "6 - 收藏" & vbCrLf & _

  "17 - 我的电脑" & vbCrLf & _

  "18 - 网上邻居" & vbCrLf & _

  "36 - Windows系统目录" & vbCrLf & _

  "34 - 历史"

  newPath = InputBox(buf, APP_TITLE, curPath)

  If newPath = " Then Exit Sub

  theType = "REG_DWORD"

  End Select

  shell.RegWrite REG_PLACESBAR & "Place" & place, newPath, theType

  End Sub

  应该承认,modifyPlaces.vbs没有太多的错误控制机制,而且它的用户界面也很粗糙。如果你想要一个专业一点的程序,最好把它转换成VB代码。图三显示了把“c: est”、“我的电脑”指定为位置条上两个位置后的“打开”对话框。


  图三:经过定制的“打开”对话框
 
  下面是SetDefaultPlaces.vbs脚本,该程序删除Placesbar子键,恢复默认的位置条设置。如前所述,除非我们创建了Placesbar子键,否则它是不存在的。如果Win2K/XP找不到Placesbar子键,位置条将默认使用标准配置。

 

  表二

  四、Office的位置条

  前面的注册表修改只影响那些使用Win2K/XP公用对话框代码库的程序,Office使用的对话框来自一个经过定制的代码库。因此,修改Win2K/XP“打开”对话框的位置条不会对Word和Excel的位置条产生任何影响。

  但是,Office 2000也提供了定制其位置条的办法,相关的注册键是HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0CommonOpen FindPlaces;对于Office XP,注册键路径是HKEY_CURRENT_USERSoftwareMicrosoftOffice.0CommonOpen FindPlacesUserDefinedPlaces。

  不过,如果你只是想要定制位置条,可以不通过该注册键。Microsoft提供了一个方便的修改位置条的工具,你可以把它安装到Office 2000软件的“工具”菜单。这个工具可以从support.microsoft.com/support/kb/articles/q260/1/90.asp下载,下载包带有该插件的完整VB源代码和如何使用该工具的说明。

  下载places.exe文件之后,双击解开压缩包。然后,点击Win2K/XP的“开始/运行”菜单,输入“regsvr32 <路径>places.dll”,并确认注册places.dll。此时如果你打开了Office 2000的程序,请先关闭它再打开。这时,Office软件的“工具”菜单上会出现一个“Set Places”菜单项,你可以用它来设置位置条上的各个位置。与Win2K的标准对话框不同,Office 2000软件的位置条支持小图标。使用小图标时,位置条上的文件夹数量不再有最多5个的限制。无论在哪一个Office 2000软件中修改位置条,改动结果将对所有Office 2000软件有效。

  位置条是一种很不错的工具,但只有当它列出的位置恰好是你常用的文件夹时,它的优势才能充分发挥出来。有了本文的知识,现在你也应该能够随心所欲地定制Win2K/XP和Office的位置条了。

时间: 2024-10-28 08:48:47

定制全新的Win2000另类“位置条”_Windows2003的相关文章

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

应该承认,modifyPlaces.vbs没有太多的错误控制机制,而且它的用户界面也很粗糙.如果你想要一个专业一点的程序,最好把它转换成VB代码.图三显示了把"c:\test\"."我的电脑"指定为位置条上两个位置后的"打开"对话框. 下面是SetDefaultPlaces.vbs脚本,该程序删除Placesbar子键,恢复默认的位置条设置.如前所述,除非我们创建了Placesbar子键,否则它是不存在的.如果Win2K/XP找不到Placesb

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

无论是注册表还是其他什么地方,都没有明确地列出位置条的各个文件夹.因此,除非手工或用程序自动创建一组新的位置,否则,Win2K/XP总是使用标准的位置条. 位置条是一种系统级的资源.一旦把一组位置指定给位置条,所有的Win2K/XP软件都将使用这组位置.这种限制意味着,你不能为记事本的位置条指定一种配置,又为画笔的位置条指定另一种配置,所有在Win2K/XP下运行的程序共享同一组位置--不管这组位置是标准的还是定制的.(Office例外,它可以有一组不同的位置,稍后再详细讨论). 要为位置条指定

深入改造Win2000“位置条”

与以前的Windows相比,Win2K/XP的用户界面作了不少改进,极大地方便了用户使用Windows.例如,"活动桌面"以HTML为基础,对于Windows NT 4.0用户来说,这是一次巨大的变化.不管你是否喜欢它,新的用户界面为有经验的用户带来了定制桌面的机会,使人们能够更高效地完成日常工作."打开"对话框属于最常用的对话框之一,在Win 2K/XP的用户界面中,它增加了一个"位置条",本文要讨论的就是如何定制这个位置条. 本文 的说明主要

超爽个性化定制全新 ColorOS 2.0 极致初体验

每一位热衷于人性化定制ROM系统的用户,在心中都少不了对http://www.aliyun.com/zixun/aggregation/3734.html">ColorOS的追崇,或许它没有像MIUI一样发烧,也没有像flyme一般追求极致简约,可情感化和人性化操作,却像刻在骨子里的至美基因,带来缤纷的绚烂体验. 初次体验ColorOS 2.0时,全新的UI界面便映入眼帘,冲击着笔者的每一根神经.专属界面.自由天气.手势操控.动画特效等等都在1.0的基础上进行了大踏步的改进,下面就让我们从

苹果全新MacBook Pro触控条上手体验

  苹果今天正式发布新一代13.15英寸MacBook Pro,最吸引眼球的改变自然就是用一条OLED屏幕取代了此前的F1-F12功能键. 苹果将其称之为Touch Bar,它能够根据应用的改变自动切换到与之对应的快捷键面板,更具灵活性.不过,用OLED触控屏取代实体功能键是否好用呢?通过外媒Slashgear分享的一段现场上手体验视频,我们一起来看看. 首先,虽然是一块屏幕,但苹果对其表面进行了喷砂处理,这使得手指在触摸到屏幕时,会更有物理上的真实感.苹果也在努力将它的面积做的和普通的按键一样

如何让Win2000系统达到最佳性能_Windows2003

简介 操作系统能够维持最佳可靠性和最佳性能非常重要,Windows 2000 操作系统通过称为"磁盘碎片整理程序"的内置系统工具来实现这一点.磁盘碎片整理程序通过 Microsoft Corporation 和 Executive Software International 之间的相互协作开发而成.继续看下去可了解有关磁盘碎片和碎片整理,及磁盘碎片整理程序如何支持维护磁盘效率方面的更多信息. 碎片类型 碎片是由于创建和删除文件及文件夹.安装新软件.从 Internet 下载文件所致.

快速恢复Win2000/XP管理员密码_Windows2003

一.删除SAM文件,清除Administrator账号密码 Windows 2000所在的WinntSystem32Config目录下有个SAM文件(即账号密码数据库文件),它保存了Windows 2000中所有的用户名和密码.当你登录的时候,系统就会把你键入的用户名和密码,与SAM文件中的加密数据进行校对,如果两者完全符合,则会顺利进入系统,否则将无法登录,因此我们可以使用删除SAM文件的方法来恢复管理员密码. 删除SAM文件后重新启动,此时管理员Administrator账号已经没有密码了,

Win2000 Server安全入门

server|安全 作者:shotgun 目前,WIN2000 SERVER是比较流行的服务器操作系统之一,但是要想安全的配置微软的这个操作系统,却不是一件容易的事.本文试图对win2000 SERVER的安全配置进行初步的探讨. 一. 定制自己的WIN2000 SERVER: 1. 版本的选择:WIN2000有各种语言的版本,对于我们来说,可以选择英文版或简体中文版,我强烈建议:在语言不成为障碍的情况下,请一定使用英文版.要知道,微软的产品是以Bug & Patch而著称的,中文版的Bug远远

Android中的ToDoList(定制样式) 详解

Android允许从已有的视图工具箱(Widget Tool Box)派生子类 或 实现自己的视图控件; 通过重写事件处理程序 和onDraw()方法, 但是仍然回调超类(super)的方法, 可以对视图进行定制, 而不必实心它的功能; 前置步骤参见: http://blog.csdn.net/caroline_wendy/article/details/21246963 步骤: 1. 创建ToDoListItemView类, 定制Item项的外观: 位置: java->package->To