第4章,怎样压缩文件

压缩文件 0
第4章 精通文件类型 令人奇怪的是,Microsoft官方文件只对很多有用的和强大的WindowsVista功能轻描淡写了一番,甚至只字不提。
无论是WindowsVista启动选项,分组策略还是注册表(这里仅列举本书中讨论的3种功能),Microsoft更愿意让好奇的用户自己搞清楚这些功能(当然需要依靠他们喜爱的计算机图书的作者的帮助)。
本章的主题就是一个重要的示例。
毫不夸张地讲,可以将文件类型的思想描述为WindowsVista文件系统最基础的要素。
Microsoft不仅很少提供有关使用文件类型的文档和工具,而且似乎刻意掩饰完整的文件类型概念。
通常的原因是为了使本来就感到眼花缭乱的初学者不再受到WindowsVista内部细节的干扰,但是具有讽刺意味的是,这种做法给初学者带来一系列全新的问题并给有经验的用户带来了更多的麻烦。
本章将公开讨论文件类型。
首先介绍文件类型的基础知识,然后会说明使用文件类型来操作WindowsVista文件系统的大量十分有用的技巧。
4.1了解文件类型 为了最有效地学习本章的内容,需要了解一些有关文件类型是什么以及WindowsVista如何确定和使用文件类型的背景知识。
下面两节讲解学习本章其余的内容所必需的知识。
本章主要内容 ►了解文件类型►使用现有的文件类型►创建新的文件类型►将两个或多个扩展名与 单个文件类型相关联►定制“新建”菜单►定制WindowsVista的 “打开方式”列表 100第Ⅰ部分WindowsVista的日常基本操作 4.1.1文件类型和文件扩展名 Microsoft极力强加给计算机用户的一个虚构事实是我们生活在一个“以文档为中心”的世界里。
也就是说,人们只关心他们创建的文档,而不关心用来创建这些文档的应用程序。
这纯粹是骗人的假话。
事实是应用程序使用起来难度依然很大,并且在应用程序之间共享文档依然问题重重。
换句话说,只有全面掌握了应用程序才能创建文档,而且只有使用兼容的应用程序才能共享文档。
令人遗憾的是,我们不得不接受Microsoft钟情于文档这一事实以及这种情愫引发的各种问题。
一个典型的示例是Microsoft隐藏文件扩展名。
正如在第3章“探索高级文件和文件夹技巧”中了解到的那样,WindowsVista默认不显示文件扩展名。
这里只列举这种所谓的以文档为中心的决策带来的几个问题: ●文档混淆——如果有一个文件夹内的多个文档使用相同的基本名称,那么往往难以区分这些文件。
例如,图4-1显示了一个文件夹含有多个名为Project的不同文件。
WindowsVista不切实际地希望用户仅仅通过查看其图标来区分不同的文件。
更糟糕的是,如果文件是图像,Vista显示一个图像的缩略图而不是图标。
结果是在图4-1中无法一眼看出哪个图像是GIF、哪个图像是JPEG,等等。
图4-1关闭扩展名后,往往难以区分不同的文件 第4章精通文件类型101 ●不能重新命名扩展名——如果有一个名为index.txt的文件并且希望把它重命名为index.html,在关闭文件扩展名的情况下无法完成此操作。
如果尝试这样做,最后只能是得到一个名为index.html.txt的文件。
●无法采用选定的扩展名来保存文档——同样,在关闭文件扩展名的情况下WindowsVista强制采用与应用程序相关的默认扩展名来保存文件。
例如,如果正在使用记事本,那么保存的每个文件必须采用txt扩展名。
假如创建自己的Web页面,则无法使用典型的Web页面扩展名(如.htm、.html或.asp等)来重命名这些文本文件。
提示:有一种方法可以解决无法采用选定的扩展名来保存文档的问题。
在“另存为”对话框
4 中,使用“保存类型”列表来选择“所有文件”选项(如果存在的话)。
然后可以在“文件 名”文本框输入带有喜欢使用的扩展名的文件名。
可以通过打开文件扩展名来解决所有这些问题。
为什么缺少文件扩展名就会引起如此大的麻烦呢?因为文件扩展名唯一并完全决定文档的文件类型。
换句话说,如果WindowsVista发现一个文件带有.txt扩展名,则断定该文件使用“文本文档”文件类型。
同样的,带有.bmp扩展名的文件将使用“位图图像”文件类型。
注意:这里给出如何打开文件扩展名的提示。
可以选择Windows资源管理器的“组织”|“文件夹选项”命令,显示“查看”选项卡并取消选中“隐藏已知文件类型的扩展名”复选框。
文件类型又可确定与扩展名相关的应用程序。
如果某个文件带有.txt扩展名,WindowsVista会将此扩展名与记事本相关联,因此始终使用记事本打开该文件。
除了扩展名外,文件本身其他地方都不能决定文件类型,因此至少从用户的角度看,WindowsVista文件系统依赖于不起眼的文件扩展名。
这种确定文件类型的方法无疑是一种拙劣的设计决策。
例如,存在由于初级用户不小心重命名了文件的扩展名而使某个文件无效的风险。
有趣的是,Microsoft似乎已经认识到这种风险并在Vista中加入了一种微妙的行为变化:当打开文件扩展名并且激活“重命名”命令时(单击文件并随后按下F2),Vista在整个文件名周围显示常规的文本框,但是它只选定文件的基本名称(圆点左边的部分),如图4-2所示。
按下任何字符会删除基本名称,但不会改动扩展名。
102第Ⅰ部分WindowsVista的日常基本操作 Vista只选定文件的基本名称 图4-2当在打开扩展名的情况下使用“重命名”命令时,WindowsVista仅选定文件的基本名称 正如本章中说明的那样,尽管文件扩展名带来一些缺点,但是通过它们可以提供一些更为强大的操作和控制WindowsVista文件系统的方法。
4.1.2文件类型和注册表 正如你预料到的那样,WindowsVista了解的有关文件类型的所有情况都定义在注册表中(参看第11章“开始了解WindowsVista注册表”来学习有关认识和使用注册表的详细信息)。
本章使用注册表来操作文件类型,这是贯穿全章的做法,因此让我们了解一下它的操作方法。
打开注册表编辑器(按下WindowsLogo+R——或选择“开始”|“所有程序”|“附件”|“运行”——输入regedit,单击“确定”按钮并输入证书),并查看HKEY_CLASSES_ROOT键。
需要注意的是它包括两个部分: ●HKEY_CLASSES_ROOT的前半部分包含许多文件扩展名子键(如.bmp和.txt)。
在基本的WindowsVista安装中这样的子键多达400个以上,对于一个安装了很多应用程序的系统而言,子键的数量很容易达到上述数量的2~3倍。
●HKEY_CLASSES_ROOT的后半部分列出了与已注册的扩展名关联的各种文件类型。
当一个扩展名与某个特定的文件类型相关联时,就称向WindowsVista注册了该扩展名。
第4章精通文件类型103 注意:HKEY_CLASSES_ROOT还将有关ActiveX控件的信息存储在它的CLSID子键中。
此外,很多这样的控件也在HKEY_CLASSES_ROOT的后半部分中含有对应的子键。
要了解所有这些子键的含义,请查看图4-
3。
这里选择了.txt键,它将txtfile作为它的默认值。

4 图4-3HKEY_CLASSES_ROOT键的前半部分包含所有已注册的文件扩展名的子键 默认值是一个指针,它指向HKEY_CLASSES_ROOT的后半部分中扩展名的相关文件类型子键。
图4-4显示了与.txt扩展名相关的txtfile子键。
下面给出一些有关这种文件类型子键的注意事项: ●默认值是文件类型的描述(在这个示例中是文本文档)。
●DefaultIcon子键定义了任何使用此类型的文件显示的图标。
●shell子键决定可以使用此文件类型执行的操作。
这些操作随文件类型而异,但是打 开和打印是通用的操作。
打开操作确定与文件类型相关的应用程序,例如“文本文档”文件类型的打开操作如下所示: %SystemRoot%\system32\NOTEPAD.EXE%
1 104第Ⅰ部分WindowsVista的日常基本操作 注意:此命令结尾处的%1是一个占位符,指向正打开的文档(如果有的话)。
例如,如果双击一个名为memo.txt的文件,则用memo.txt来替代%1占位符,它指示Windows运行记事本来打开此文件。
图4-4HKEY_CLASSES_ROOT的后半部分包含与每个扩展名相关联的文件类型数据 4.2使用现有的文件类型 在本节中,将会学习如何使用WindowsVista现有的文件类型。
本节将会介绍如何更改文件类型描述信息,修改文件类型的操作,将扩展名和另一种文件类型相关联以及解除一种文件类型和扩展名的关联。
需要注意的是,以前版本的Windows有一个友好的前端来执行这些类型的操作:“文件夹选项”对话框中的“文件类型”选项卡。
可惜在WindowsVista中找不到这个选项卡,因此必须直接使用注册表来执行如下一些操作。
4.2.1设置默认的操作 对于很多文件类型而言,当双击这些文件类型的文档时,它们都具有WindowsVista默认执行的操作。
通过右击某个文档并查看以粗体形式出现的命令的快捷菜单,可以看到默认的操作。
可以编辑注册表来更改文件类型的默认操作。
为何希望执行这种操作呢?下面给出一些示例: ●对于HTML文档(扩展名为.htm或.html),默认的操作是运行Explorer中文档的“打开”命令。
如果手工编写HTML网页的代码,可能希望默认操作是“编辑”以便能够快速地将文档加载到文本编辑器中。
●对于图像,默认的操作是在图库阅读器中打开图像的“预览”。
再次指出,如果经常用到图像(创建图像、剪切图像、转换图像,等等),则更愿意将“编辑”作为默认操作。
第4章精通文件类型 ●对于WindowsScriptingHost(脚本宿主)文件类型,如VBScriptScriptFile(扩展名是.vbs)和JScriptScriptFile(扩展名是.js),默认的操作是运行脚本的“打开”命令。
但是,这些脚本可能包含恶意的代码,因此通过把这些文件类型的默认操作更改为“编辑”,则可以增强系统的安全性。
为了更改文件类型的默认操作,需遵循如下步骤:
(1)打开注册表编辑器。

(2)定位到与希望操作的文件类型相关联的键。

(3)打开该键并单击Shell分支。

(4)双击默认值以打开“编辑字符串”对话框。

(5)输入希望成为默认操作的操作名称。
例如,如果希望将“编辑”作为默认操作,则输入Edit。

(6)单击“确定”按钮。
图4-5显示了将Shell分支的默认设置更改为“Edit”的VBSFile文件类型(VBScriptScriptFile)。
105
4 图4-5为了改变文件类型的默认操作,改变Shell分支的默认设置值 提示:当希望在包含两个窗格的资源管理器视图中打开一个文件夹时,必须右击此文件夹,然后单击资源管理器。
为了使后一种操作成为文件夹的默认操作,可以编辑文件夹文件类型,在“操作”列表中选择“资源管理器”,然后单击“设为默认值”。
4.2.2创建新的文件类型操作 完全不必局限于WindowsVista已为某个文件类型定义的那些操作,可以根据需要添 106第Ⅰ部分WindowsVista的日常基本操作 加想要的各种新操作。
例如,如果操作HTML文档,可以原样保留默认的“编辑”操作(此操作在“记事本”中打开文件进行编辑),并且可以创建一个新操作——例如叫做“OpeninHTMLEditor”——它可以在已安装的HTML编辑器中打开文件。
当右击HTML文件时,菜单将同时显示两种命令:“编辑”(用于“记事本”)和“OpeninHTMLEditor”(用于其他编辑器,注意为了简单起见,这里假定在安装HTML编辑器时没有把“编辑”操作更改为指向它自身)。
要为某个现有的文件类型创建新操作,需遵循如下这些步骤:
(1)打开注册表编辑器。

(2)定位到与希望操作的文件类型相关联的键。

(3)打开该键并单击Shell分支。

(4)选择“编辑”|“新建”|“项”,输入新操作的名称,并按下Enter键。

(5)选择“编辑”|“新建”|“项”,输入mand并按下Enter键。

(6)在mand分支中,双击默认值以打开“编辑字符串”对话框。

(7)输入希望用于此操作的应用程序的完整路径名。
这里给出一些要记住的注意事项:●如果可执行文件的路径名包含一个空格,务必确保将路径包围在引号中,就像下面 这样: "C:\ProgramFiles\MyProgram\program.exe" ●如果正使用文档的文件名中有空格,在路径名后添加%1参数: "C:\ProgramFiles\MyProgram\program.exe""%1" %1部分指示应用程序加载指定的文件(如单击的文件名),并且引号确保包含多个单词的文件名不会出现问题。
●如果正在添加“打印”操作,确保在应用程序的路径名后包含/p开关项,就像下面这样: "C:\ProgramFiles\MyProgram\program.exe"/p 提示:可以为新操作定义一个加速键。
单击含有操作名的分支,然后双击默认值。
在“编辑字符串”对话框中,输入操作名并在一个字母前加上一个与(&)符号。
该字母将作为菜单加速键。
例如,输入Openin&HTMLEditor将把H键定义为加速键。
当右击此类型的一个文件时,可以按下H键在快捷菜单中选择此命令。

(8)单击“确定”按钮。
4.2.3示例:在当前文件夹中打开命令提示符 第4章精通文件类型107 在Windows资源管理器中工作时,偶尔会发现需要在命令提示符下完成一些操作。
例如,当前文件夹可能含有多个需要重命名的文件——这是一个在命令行会话内最易完成的任务。
选择“开始”|“所有程序”|“附件”|“命令提示符”以便在%USERPROFILE%文件夹中启动会话,因此必须使用一个或多个CD命令到达希望 4在其中操作的文件夹。
一种更简便的方法是为“文件夹”文件类型创建一个新操作,它可以启动命令提示符并自动显示当前的Windows资源管理器文件夹。
要完成此操作,需遵循如下这些步骤:
(1)打开注册表编辑器。

(2)定位到Folder键。

(3)打开该键并单击Shell分支。

(4)选择“编辑”|“新建”|“项”,输入OpenwithCommandPrompt,并按下Enter键。

(5)选择“编辑”|“新建”|“项”,输入mand,并按下Enter键。

(6)在mand分支中,双击默认值以打开“编辑字符串”对话框。

(7)输入如下内容: cmd.exe/kcd"%L" 注意:cmd.exe文件是命令提示符的可执行文件。
/k开关项指示WindowsVista在完成CD(更改目录)命令后继续打开命令提示符窗口。
%L占位符代表当前文件夹的完整路径名。

(8)单击“确定”按钮。
图4-6显示了两个窗口。
顶部的窗口是注册表编辑器,显示将新的OpenwithCommandPrompt操作添加到Folder\shell键中;在底部的窗口中,右击了一个文件夹,请注意新操作出现在快捷菜单中的方式。
108第Ⅰ部分WindowsVista的日常基本操作 图4-6在将新的操作添加到文件类型的shell键后,该操作出现在文件类型的快捷菜单中 4.2.4隐藏文件类型的扩展名 快捷方式是这样一个文件,它指向另一个对象:文档、文件夹、驱动器、打印机等。
快捷方式采用.lnk扩展名,它与lnkfile文件类型相关联。
奇怪的是,如果打开文件扩展名,在查看快捷方式文件时仍无法看到.lnk扩展名。
推测起来可能是WindowsVista隐藏了扩展名,因为假定用户不会把快捷方式看作是实际的文件,而只是指向文件的指针。
这样做对我们而言没有问题,但是Vista是如何实现始终隐藏快捷方式的文件扩展名这一技巧的呢? 奥秘就在于注册表的lnkfile(快捷方式)键有一个名为NeverShowExt的空字符串设置。
当Vista采用这种设置时,它始终隐藏文件类型的扩展名。
第4章精通文件类型109 你可能想将这种设置用于另一种文件类型。
例如,如果计算机上有多个用户,可能希望打开文件扩展名,但要隐藏某个重要的文件类型的扩展名以防止用户更改它。
遵循如下这些步骤可以始终隐藏某个文件类型的扩展名:
(1)打开注册表编辑器。

(2)定位到希望操作的文件类型的键。

(3)选择“编辑”|“新建”|“字符串值”。

(4)输入NeverShowExt并按下Enter键。
4.2.5把扩展名与一个不同的应用程序相关联
4 很多情况下都可能希望重新设置WindowsVista的默认关联方式,并采用一种不同的程序来打开扩展名。
例如,可能更愿意用“写字板”替代“记事本”来打开文本文件。
同样的,可能希望用“记事本”或其他某种文本编辑器而不是“Explorer”来打开HTML文件。
这些情况下,需要将扩展名与希望使用的应用程序相关联,而不是采用Windows默认的关联。
在WindowsVista中,可以使用“打开方式”对话框来更改关联的应用程序,Vista提供了很多不同的方法来显示此对话框: 右击任务窗格设置关联 采用这种方法时,右击任何带有扩展名的文件,然后单击“打开方式”。
如果此文件类型已有多个与其相关联的程序,则可以看到一个包含这些程序的菜单。
这种情况下,单击菜单中出现的“选择默认程序”命令。
单击某个文件时,Windows资源管理器的任务窗格显示一个按钮用来表示该文件类型的默认操作。
例如,如果单击一个图像,在任务窗格中会出现一个“预览”按钮;如果单击一个音频文件,则可以在任务窗格中看到一个“播放”按钮。
大多数情况下,这种默认的操作按钮也作为下拉列表。
显示此列表并单击“选择默认程序”。
选择“开始”|“默认程序”|“将文件类型或协议与程序关联”。
这将显示“设置关联”窗口,如图4-7所示,它显示了一个文件扩展名列表。
单击希望操作的文件类型,然后单击“更改程序”。
110第Ⅰ部分WindowsVista的日常基本操作 图4-7使用“设置关联”对话框来更改与任何显示的文件扩展名相关联的应用程序 无论采用哪种方法,最后都会得到一个“打开方式”对话框,如图4-8所示。
此后,请遵循如下这些步骤: 图4-8使用“打开方式”对话框将一个文件类型与另一个不同的应用程序相关联
(1)选择希望与此文件类型相关联的程序(如果看不到程序,单击“浏览”,使用新的“打开方式”对话框来选择程序的可执行文件,然后单击“打开”按钮)。

(2)确保选中“始终使用选择的程序打开这种文件”复选框(如果通过“设置关联”窗 口打开“打开方式”对话框,则此复选框始终处于选中状态)。

(3)单击“确定”按钮。
4.2.6将一个应用程序与多种文件类型相关联 第4章精通文件类型111 很多应用程序能够使用多种文件类型。
例如,MediaPlayer可以播放的文件类型超过30种,包括WindowsMediaAudio(.wma)、MP3(.mp3)、CD音轨(.cda)和AVI(.avi)。
WindowsVista提供了一个新的“设置默认程序”窗口,允许指定将哪些文件类型与某个特定的应用 4程序相关联。
下面列出使用它的方法:
(1)选择“开始”|“默认程序”以显示“默认程序”窗口。

(2)选择“设置默认程序”以显示“设置默认程序”窗口。

(3)使用“程序”列表来选择希望使用的应用程序。

(4)现在有两种选择:●如果希望程序与其能够处理的所有文件类型相关联,则单击“将此程序设为默认值”按钮。
●如果希望程序仅与它能处理的一些文件类型相关联,单击“选择此程序的默认值”按钮以显示“设置程序关联”窗口。
选中希望与程序关联的每个文件类型的复选框,然后单击“保存”按钮。

(5)单击“确定”按钮。
4.3创建新的文件类型 WindowsVista带有一个很长的已注册文件类型的列表,但是它并不能考虑到在使用计算机的工作过程中遇到的每一种扩展名。
对于很少见到的扩展名,最好使用“打开方式”对话框。
但是,如果经常用到某个未注册的扩展名,应该通过为它创建一种新的文件类型来注册该扩展名。
提示:比较特殊的是文本文件,它们似乎可能带有各种非标准的(也就是未注册的)扩展名。
并不需要不断地为这些扩展名设置文件类型或者使用“打开方式”对话框,而可以在%UserProfile\SendTo文件夹中为记事本创建一个快捷方式。
采用这种方式,可以通过右击任何文本文件并随后选择“发送到”|“记事本”来打开它。
我们经常使用的“打开方式”对话框为未注册的扩展名提供了一种非常迅速(但不够正规)的创建简单文件类型的方法:
(1)在Windows资源管理器中,选择想要操作的文件。

(2)单击“打开”(对于未注册的文件类型,WindowsVista不显示“打开方式”命令)。
112第Ⅰ部分WindowsVista的日常基本操作 Vista显示一个对话框用以告知用户不能打开文件。

(3)启用“从已安装程序列表中选择程序”选项,然后单击“确定”,将会出现“打开 方式”对话框。

(4)选择希望用来打开文件的应用程序或单击“浏览”按钮,从打开的对话框中选择 程序。

(5)使用“输入你对该类型文件的描述”文本框为此新文件类型输入相应的描述信息。

(6)确保选中“始终使用选择的程序打开这种文件”复选框。

(7)单击“确定”。
此方法创建了一个具有如下属性的新文件类型:●WindowsVista创建文件类型的操作数量依赖于选择的应用程序。
如果能够使用此应用程序显示并编辑文件,则WindowsVista创建“打开”和“编辑”操作;如果只能使用此应用程序显示文件,WindowsVista仅创建“打开”操作。
●与文件相关联的图标和关联的应用程序使用的图标相同。
●在注册表中,可以在HKEY_CLASSES_ROOT中看到扩展名并且相关联的文件类型名是ext_auto_file,其中ext是文件的扩展名。
4.4将两个或多个扩展名与单个文件类型相关联 创建新文件类型面临的一个问题是往往不得不从头做起。
例如,假定希望设置一个使用.1st扩展名的新文件类型。
这些文件通常是提供预安装操作指南的文本文件(如readme.1st),因此很可能想把它们与记事本相关联。
但是,这意味着需要重复操作一部分或全部现有的“文本文档”文件类型。
为了避免出现这种情况,可以指示WindowsVista将另一个扩展名与现有的文件类型相关联。
下面给出要遵循的步骤:
(1)打开注册表编辑器。

(2)选择HKEY_CLASSES_ROOT键。

(3)选择“编辑”|“新建”|“项”。

(4)输入新的文件类型使用的文件扩展名(如.lst),并按下Enter键。

(5)在新文件扩展名键中,双击默认值。

(6)输入希望与新文件类型关联的现有文件类型键的名称。
例如,如果希望新文件类型与“文本文档”(.txt)文件类型相关联,则输入txtfile。

(7)单击“确定”按钮。
4.5定制“新建”菜单 WindowsVista最便捷的一个功能是“新建”菜单,它允许创建一个新文件而不需在应 第4章精通文件类型 用程序内进行操作。
在Windows资源管理器(或在桌面上)中,右击文件夹的空白部分,然 后选择“新建”。
在出现的子菜单中,可以看到创建各种文件类型的新文档的项,包括文件 夹、快捷方式、位图(bmp)图像,WordPad(写字板)文档、文本文档、压缩文件夹和其他可 能的项,具体的项取决于系统配置和安装的应用程序。
何种机制决定文件类型是否出现在“新建”菜单上呢?当然是注册表。
为了了解其工 作方式,启动注册表编辑器并打开HKEY_CLASSES_ROOT键。
正如看到的那样,大多数 扩展名子键只有一个默认设置,它或者为空(如果扩展名与注册的文件类型没有关联),或 者是一个指向扩展名相关联的文件类型的字符串。
但是,很多这样的扩展名键也有子键,并且需要特别指出的是,少量扩展名有一个名 为ShellNew的子键。
例如,打开.bmp键将看到它有一个名为ShellNew的子键。
这个子键 正是决定某个文件类型是否出现在“新建”菜单上的关键。
具体而言,如果向WindowsVista 注册了扩展名并且它有一个ShellNew子键,“新建”菜单将为相关的文件类型创建一个 命令。
ShellNew子键总是包含一个设置用以决定WindowsVista创建新文件的方式。
可以采 用如下4种设置: 空文件 此设置的值总是设定为空字符串(“”),指示WindowsVista创建一个 相关联类型的空文件。
在出现在默认“新建”菜单上的文件类型中, 3个使用NullFile设置:文本文档(.txt)、位图图像(.bmp)和快捷方式 (.lnk)。
目录 此设置指示WindowsVista创建一个文件夹。
“新建”菜单的 Briefcase(公文包,参看注册表中的Briefcase\ShellNew键)命令使用 此设置。
命令 此设置指示WindowsVista通过执行一个特定的命令来创建新文件。
此命令通常使用少量参数调用可执行文件。
“新建”菜单的两个命令 使用此设置: ●Contact(联系人)——.contact\ShellNew键含有Command设置的如 下值: "%ProgramFiles%\WindowsMail\Wab.exe"/CreateContact"%1" ●JournalDocument(期刊文档)——在.jnt\jntfile\ShellNew键中,可以看到Command设置的如下值: "%ProgramFiles%\WindowsJournal\Journal.exe"/n0 数据 此设置包含一个值,当WindowsVista创建新文件时它将此值复制到 新文件中。
“新建”菜单的多信息文本格式(.rtf)和压缩文件夹(.zip) 命令使用此设置。
113
4 114第Ⅰ部分WindowsVista的日常基本操作 4.5.1向“新建”菜单添加文件类型 为了使“新建”菜单更便于使用,可以为定期使用的文档添加新的文件类型。
对于已向WindowsVista注册的任何文件类型,遵循一个简单的包括3个步骤的过程:
(1)在HKEY_CLASSES_ROOT中向适当的扩展名键添加一个ShellNew子键。

(2)添加上一节讨论的4种设置(“空文件”、“目录”、“命令”或“数据”)中的一种设置。

(3)为设置输入值。
大多数情况下,最简便的方法是使用“空文件”创建一个空文件。
4.5.2从“新建”菜单中删除文件类型 很多WindowsVista应用程序(如MicrosoftOffice)喜欢将它们的文件类型添加到“新建”菜单中。
如果发现“新建”菜单过于拥挤,可以删除一些命令使菜单变得易于管理。
为此,需要在注册表中找到适当的扩展名并删除它的ShellNew子键。
警告:不应永久删除ShellNew子键,而应采取一种更为谨慎的做法,即简单地重命名键(例如,将其重命名为ShellNewOld)。
这样做仍可以防止WindowsVista向“新建”菜单添加项目,但是这也意味着仅需通过还原原始的键名来还原项目。
但是需要注意的是,一些第三方注册表清理程序标记这些重命名的键以便于删除或还原。
更好用的程序,如RegistryMechanic(),允许指定程序应该忽略的键。
4.6定制WindowsVista的“打开方式”列表 本章迄今为止已经多次用到“打开方式”对话框,这的确是一个很有用的对话框,但是通过定制它可以令其更加有用。
本章的其余部分将介绍各种“打开方式”定制方式。
4.6.1使用一个非关联的应用程序打开文档 从本章前面讲过的内容中可以了解到双击某个文档时WindowsVista经历的过程:
(1)在HKEY_CLASSES_ROOT中查找该文档的扩展名。

(2)查看默认值以获取文件类型子键的名称。

(3)在HKEY_CLASSES_ROOT中查找文件类型子键。

(4)在shell\mand子键中获取默认值以进入相关联应用程序的命令行。

(5)运行此应用程序并打开文档。
第4章精通文件类型115 如果希望忽略此过程并让WindowsVista使用一个非关联的应用程序打开文档的话(也就是说使用一个与此文档不关联的应用程序),应该如何做呢?例如,假如希望用“写字板”打开一个文本文件该如何做呢? 一种可能采用的方法是运行非关联的应用程序并从应用程序打开文档。
为此,必须运行“文件”|“打开”命令(或任何类似的命令),并在“打开”对话框的“文件类型”列表中选择“所有文件”。
这样做是可行的,但是不如从Windows资源管理器中直接运行文件那样方便。
下面给出解决此问题的方法: 4
(1)在Windows资源管理器中,选择希望操作的文档。

(2)选择“文件”|“打开方式”(也可以右击文档,然后在快捷方式菜单中单击“打开方式”)。

(3)下一步依赖于操作的具体文件:●对于大多数文件,WindowsVista可直接进入“打开方式”对话框,这种情况下跳转 到步骤
(4)
●对于系统文件而言,Windows询问是否确定希望打开此文件。
这种情况下,单击 “打开方式”。
●对于某些文件类型,WindowsVista显示建议的程序的子菜单。
这种情况下,如果看 到希望替代的程序,可以选择它。
否则,选择“选择默认程序”。

(4)选择希望在其中打开文档的非关联的应用程序(如果没有列出想要使用的应用程序,则单击“浏览”按钮,然后从出现的对话框中选择程序的可执行文件)。

(5)为了防止WindowsVista将文件类型更改为非关联的应用程序,确保取消选中“始终使用选择的程序打开这种文件”复选框。

(6)单击“确定”按钮以便用选定的应用程序打开文档。
注意WindowsVista记录在“打开方式”对话框中选择的非关联的应用程序。
当下次选择此文件类型的“打开方式”命令时,WindowsVista显示一个同时含有前面选择的非相关联程序和关联程序的菜单。
4.6.2“打开方式”功能的工作原理 在学习更高级的“打开方式”定制内容之前,需要了解WindowsVista编译“打开方式”列表上显示的应用程序列表的方式: ●WindowsVista检查HKEY_CLASSES_ROOT\.ext(其中,.ext是定义文件类型的扩展名)。
如果它发现OpenWith子键,在该子键下列出的应用程序将被添加到“打开方式”菜单中,并且它们出现在“打开方式”对话框中的“推荐程序”区域中。
●WindowsVista检查HKEY_CLASSES_ROOT\.ext以查看文件类型是否具有PerceivedType设置。
如果有这种设置,则意味着该文件类型也具有相关联的感知类 116第Ⅰ部分WindowsVista的日常基本操作 型。
这是一种范围更广泛的类型,它将相关的文件类型组合到单个类别中。
例如,图像感知类型包括的文件类型有BMP、GIF和JPEG,而文本感知类型包括的文件类型有TXT、HTM和XML。
WindowsVista然后检查如下内容: HKEY_CLASSES_ROOT\SystemFileAssociations\PerceivedType\OpenWithList 在此,PerceivedType是文件类型的PerceivedType设置的值。
把在OpenWithList键下列出的应用程序键添加到文件类型的“打开方式”菜单和对话框中。
●WindowsVista检查HKEY_CLASSES_ROOT\Applications,它包含按照应用程序可执行文件命名的子键。
如果一个应用程序子键含有一个\shell\mand子键,并且如果该子键的默认值设定为应用程序的可执行文件的路径名,则将该应用程序添加到“打开方式”对话框中。
●WindowsVista检查如下键: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext\OpenWithList 其中,ext是文件类型的扩展名。
此键包含当前用户用于通过“打开方式”打开文件类型的每个应用程序的设置。
这些设置命名为a、b、c等等,并且有一个MRUList设置使得可按照应用程序的使用顺序列出这些字母。
同时,将这些应用程序添加到文件类型的“打开方式”菜单中。
4.6.3从文件类型的“打开方式”菜单中删除应用程序 当使用“打开方式”对话框选择一个可替换的应用程序来打开某个特定的文件类型时,该应用程序出现在文件类型的“打开方式”菜单上(也就是当选择“文件”|“打开方式”命令时出现的菜单)。
为了从此菜单中删除应用程序,打开如下的注册表键(其中,ext是文件类型的扩展名): HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext\OpenWithList 删除希望从菜单中去除的应用程序的设置。
此外,编辑MRUList设置以去掉刚才删除的应用程序的字母。
例如,如果删除的应用程序设置命名为b,则从MRUList设置中去掉字母b。
4.6.4从“打开方式”列表中删除程序 并不仅仅是定制单个文件类型的“打开方式”菜单,可能需要为所有文件类型定制“打开方式”对话框。
为了防止某个程序出现在“打开方式”列表中,打开注册表编辑器并定 第4章精通文件类型117 位到如下键: HKEY_CLASSES_ROOT/Applications 在此会发现大量子键,其中每个子键代表在系统中安装的一个应用程序。
这些子键的名称是每个应用程序的可执行文件的名称(如对“记事本”而言就是notepad.exe)。
为了防止WindowsVista在“打开方式”列表中显示某个应用程序,醒目显示该应用程序的子键,并创建一个名为NoOpenWith的新字符串值(不必为此设置赋值)。
若为了在“打开方式”列表中还原应用程序,则删除NoOpenWith设置。
注意:
4 NoOpenWith设置不适用于打开某个特定文件类型的默认应用程序。
例如,如果向 notepad.exe子键添加NoOpenWith,“记事本”仍会出现在文本文档的“打开方式”列表中, 但是不会出现在其他文件类型(如HTML文件)的“打开方式”列表中。
4.6.5将程序添加到“打开方式”列表中 还可以把一个应用程序添加到所有文件类型的“打开方式”对话框中。
再次指出,需要定位到如下的注册表键: HKEY_CLASSES_ROOT/Applications 显示按应用程序的可执行文件命名的子键(如果子键不存在,则创建它)。
现在添加\shell\mand子键并将默认值设定为应用程序的可执行文件的路径名。
4.6.6禁用“打开方式”复选框 “打开方式”对话框允许通过激活“始终使用选择的程序打开这种文件”复选框来更改与某个文件类型的“打开”操作相关联的应用程序。
如果和其他人共享使用计算机,可能不希望他们有意或无意地更改这种关联。
这种情况下,可以通过调整如下的注册表键来禁用此对话框。
HKEY_CLASSES_ROOT\Unknown\shell\mand 此键的默认值如下: %SystemRoot%\system32\rundll32.exe%SystemRoot%\system32\shell32.dll,OpenAs_RunDLL%
1 为了在“打开方式”对话框中禁用此复选框,在默认值的末尾添加%2: %SystemRoot%\system32\rundll32.exe%SystemRoot%\system32\shell32.dll,OpenAs_RunDLL%1%
2 118第Ⅰ部分WindowsVista的日常基本操作 4.7相关内容 这里列出在本书中可以找到相关信息的其他一些章节:●为了初步了解Vista文件技巧,可参看第3章“探索高级文件和文件夹技巧”。
●若想了解有关写入到注册表的应用程序设置的更多信息,请参看第5章中的“应用 程序和注册表”一节。
●若想获悉有关了解和使用注册表的详情,请参看第11章“了解WindowsVista的注 册表”。
●若想了解如何创建VBScript脚本,请参看第12章“WindowsScriptHost编程”。

标签: #市区 #航空公司 #代码 #压缩文件 #python #文件