Win2000定位筋深层转型
本文的描述主要针对Win 2K,但其基本原理也适用于XP,并将分别指出它们之间的差异。
首先,打开对话框
也许你已经注意到,一些公开的对话框不同于Win9x / NT 4的时候一些Win2K或XP上运行。图1显示了标准的WIN2K打开对话框,点击记事本的文件/打开菜单显示对话框。与以往相比,这个对话框框添加了一件事:一个垂直的按钮栏添加到窗口的左侧。Win2k的SDK文档调用这个按钮的位置吧(地方吧)。
图1:标准的WIN2K打开对话框
在地址栏的作用是允许用户达到常用文件夹只有一个鼠标点击。Win2000 / XP的地址栏包含了5个按钮,每个按钮点到系统文件夹,点击任何按钮,打开对话框中显示相应的文件夹的内容立即。
默认位置栏为以下文件夹中的每一个提供一个按钮:历史、桌面、我的文档、我的计算机和Internet邻居。历史文件夹记录用户最近使用的文件和文件夹。如果要访问最近使用的文件或文件夹,首先要查看历史文件夹。许多其他用户经常使用其他四个文件夹。
默认的位置栏配置包含了大多数用户最常用的文件夹,满足大多数用户的需求。但是,这种默认配置可能不符合您的工作习惯,您需要自定义它。
两。自定义的位置吧
没有明确的文件夹列表为酒吧的位置,无论是或任何其他地方。因此,win2k / XP总是使用一个标准的位置吧,除非一套新的位置是用手或用程序自动生成。
一位酒吧是一个系统级的资源。一旦一个职位设置被分配到一个位置吧,所有Win2K或XP将使用这套的位置。这个限制意味着你不能指定为记事本地址栏的配置,和刷子的位置栏指定其他配置。所有程序Win2K / XP下运行的共享位置一样,不管这些位置是标准或定制。(办公室例外,它可以有一个不同的位置,这将在后面详细讨论)。
指定的地址栏的一套新的文件夹,第一步是告诉系统你不准备使用默认的5个地点,hkey_current_user 软件微软 Windows currentversion 政策 Comdlg32 placesbar子密钥生成。一般来说,政策的子密钥可能已经存在,但Comdlg32子密钥需要创造出来的。在创建子项,你可以看到打开的对话框中已经成为空白,placesbar子告诉Win2K,你不想使用标准的位置组合,但没有指定自己的配置在这段时间。
的placesbar子密钥包含5个登记项目,从place0到存在。Win2k / XP不批准或正确处理场所,代注册键,或其他的名字。位置应在定单中规定,例如,在place0和2不能燃放地点。如果位置是混乱的、不完整的,地址栏会在不可预知的顺序显示的图标和文件夹的名称。
当位置信息添加到placesbar子密钥,指定文件夹的方式是提供在一个字符串的形式的文件夹的完整路径名称,登记数据的类型reg_sz(如果环境变量中使用的文件夹,名字应该reg_expand_sz)。
您可以将系统文件夹指定为注册信息中位置栏上的位置。系统文件夹通常有一个不容易记住的长路径(例如,您能立即告诉我文档的完整路径吗)如果你想指定我的文档或集合的位置,你可以使用一个数字标识,是具体制度无关,而不是使用它的完整路径名称。微软称这个ID csidl。表1列出了常见的Win2K系统文件夹的ID。这样的文件夹,你可以创建一个类型reg_dword登记placesbar子项下指定的ID。
表1:Win2K系统文件夹和他们的身份
文件夹编号
字体20
回收站10
我的电脑17
网络和拨号连接49
打印机4
收集6
发送到9
我的照片39
历史34
网上邻居18
我的文档5
Windows系统目录36
注意:表1的ID值不适用于XP。如果您正在使用XP,请查阅相关信息,或者直接使用文件夹的绝对路径。
三。定制过程自动化
一个modifyplaces.vbs脚本描述如下,一个程序,自动读取和写入的位置信息。Win2000命令窗口下执行cscript modifyplaces.vbs或名modifyplaces.vbs可以启动程序,见图2。程序首先要求你要修改的位置。如果输入号码0和4之间,程序继续,点击是与路径指定的文件夹,并单击身份证号码指定文件夹,点击后,程序要求你输入完整的路径名,并完成后,程序将创建一个reg_sz注册密钥。如果被选中,该程序需要一个系统文件夹的身份进入,和完成后,程序创建一个reg_dword子指定一个位置后,程序允许你继续指定其他位置。
图二:自定义位置栏
常数
const app_title =设置地址栏的打开对话框
const reg_placesbar =HKCU 软件微软 Windows currentversion 政策 Comdlg32 placesbar
暗位置号
昏暗的不断逻辑开关
获取要设置的位置号
激情=真
同时不断
地方= InputBox(输入位置数(0至4)
单击取消按钮…
如果位置然后
Wscript。退出
最后如果
如果位置> 4
MsgBox位置号码错误,请指定位置数之间0-4!
其他的
位置号码是合法的,从阅读信息
changeplace地方
最后如果
走
修改指定位置
Sub ChangePlace(的地方)
昏暗的壳,curpath,buf,RC型道路,
套壳= CreateObject(wscript。壳)
下次继续出错
curpath = shell.regread(reg_placesbar 的地方)
关于错误0
默认值
如果curpath = 然后curpath =默认值
buf =
但是,但位置的地方,当前设置为_
CHR(34)curpath CHR(34)vbcrlf vbcrlf _
点击指定公用文件夹vbcrlf _
单击否以指定一个系统文件夹vbcrlf _
单击取消退出程序
RC = MsgBox(buf,3,app_title)
是= 6,否=7,取消= 2
如果RC = vbcancel然后退出
修改位置
选择的情况下,钢筋混凝土
案例vbyes
道路= InputBox(输入新的文件夹的路径
如果道路=然后退出
类型=reg_sz
案例vbno
buf =
缓冲区buf =选择新的文件夹。vbcrlf vbcrlf _
5我的文档vbcrlf _
6vbcrlf _
17我的电脑vbcrlf _
18 vbcrlf _网络邻居
36的Windows系统目录vbcrlf _
34 -历史
道路= InputBox(buf,app_title,curpath)
如果道路=然后退出
类型=reg_dword
最后选择
shell.regwrite reg_placesbar处的地方,新的路径、类型
端子
应该承认,modifyplaces.vbs没有太多的错误控制机制,它的用户界面是非常粗糙的,如果你想有一个专业的程序,最好是将它转换成VB代码。图三显示打开对话框中,指定C:检验,我的电脑的位置在位置栏。
图三:自定义打开对话框
以下是setdefaultplaces.vbs脚本删除placesbar子密钥恢复默认的地址栏设置。如前所述,不除非我们已经创建了一个placesbar子存在。如果WIN2K或XP不找placesbar子键,位置栏将默认使用标准配置。
常数
const app_title =恢复地址栏的打开对话框
const reg_placesbar =HKCU 软件微软 Windows currentversion 政策 Comdlg32 placesbar
你继续吗
RC = MsgBox(点击确定恢复标准定位杆结构
如果RC 1然后
Wscript。退出
最后如果
删除策略 Comdlg32下所有登记钥匙使标准定位杆的配置
套壳= CreateObject(wscript。壳)
下次继续出错
Shell.RegDelete(reg_placesbar)
完成……
MsgBox恢复默认配置的位置吧
四,办公室的位置栏
以前的变化只影响使用Win2k或XP公共对话框的代码库的程序,并使用Office对话框来自定制的代码库。因此,修改Win2000 / XP打开对话框的位置栏上没有字的地址栏的任何影响和Excel。
然而,Office 2000还提供了一种自定义的位置,注册码的hkey_current_user 软件微软办公室相关 9 普通打开找到地方Office XP;注册关键路径是hkey_current_user 软件微软办公室 10 普通打开找到 userdefinedplaces地方。
但是,如果你只想自定义位置栏,你就不能通过注册键。微软提供了一个方便的工具来修改位置栏,你可以在Office 2000工具菜单上安装它。这个工具可以下载,用完整的VB源代码与插件下载,以及如何使用这个工具。
下载后的places.exe文件,双击打开压缩包,然后,在开始/运行Win2K / XP菜单点击,输入regsvr32 places.dll,并确认places.dll注册。在这一点上,如果你打开Office 2000程序,请先关闭它,打开它,这一点,一套地方的菜单项将出现在办公室的工具菜单,你可以用它来在定位筋设置不同的位置。不像win2k的标准对话框,Office 2000的地址栏支持小图标。当使用小图标,在地址栏不再有最多5限制文件夹的数量,改变的结果将适用于所有的Office 2000,无论哪个办公室2000修改。
地址栏是一个很好的工具,但它的优势才能充分发挥它的位置只是你时一般文件夹。有了这些知识,你也应该能够定制WIN2K或XP和Office的位置在同一时间。