2005年01月24日

http://www.cnblogs.com/rata/archive/2004/12/26/82256.html

http://www.hidotnet.com/documents/DotNetTools.htm
本文自发布以来已经增加了新信息。

请参阅下面的编辑更新。

本文讨论:

•   用于编写单元测试的 NUnit

•   用于创建代码文档资料的 NDoc

•   用于生成解决方案的 NAnt

•   用于生成代码的 CodeSmith

•   用于监视代码的 FxCop

•   用于编译少量代码的 Snippet Compiler

•   两种不同的转换器工具:ASP.NET 版本转换器和 Visual Studio .NET 项目转换器

•   用于生成正则表达式的 Regulator

•   用于分析程序集的 .NET Reflector

本文使用了下列技术:

.NET、C# 或 Visual Basic .NET、Visual Studio .NET

除非您使用能够获得的最佳工具,否则您无法期望生成一流的应用程序。除了像 Visual Studio®.NET 这样的著名工具以外,还可以从 .NET 社区获得许多小型的、不太为人所知的工具。在本文中,我将向您介绍一些目前可以获得的、面向 .NET 开发的最佳免费工具。我将引导您完成一个有关如何使用其中每种工具的快速教程 — 一些工具在许多时候可以使您节约一分钟,而另一些工具则可能彻底改变您编写代码的方式。因为我要在本篇文章中介绍如此之多的不同工具,所以我无法详尽讨论其中每种工具,但您应该了解到有关每种工具的足够信息,以便判断哪些工具对您的项目有用。

*

本页内容

Snippet Compiler   Snippet Compiler

Regulator   Regulator

CodeSmith   CodeSmith

生成自定义模板   生成自定义模板

NUnit   NUnit

编写 NUnit 测试   编写 NUnit 测试

FxCop   FxCop

Lutz Roeder 的 .NET Reflector   Lutz Roeder .NET Reflector

NDoc   NDoc

NAnt   NAnt

实际运行的 NAnt   实际运行的 NAnt

转换工具   转换工具

小结   小结

Snippet Compiler

Snippet Compiler 是一个基于 Windows® 的小型应用程序,您可以通过它来编写、编译和运行代码。如果您具有较小的代码段,并且您不希望为其创建完整的 Visual Studio .NET 项目(以及伴随该项目的所有文件),则该工具将很有用。

例如,假设我希望向您说明如何从 Microsoft?.NET 框架中启动另一个应用程序。在 Snippet Compiler 中,我将通过新建一个能够创建小型控制台应用程序的文件开始。可以在该控制台应用程序的 Main 方法内部创建代码片段,而这正是我要在这里做的事情。下面的代码片段演示了如何从 .NET 框架中创建记事本实例:

System.Diagnostics.Process proc = new System.Diagnostics.Process();

proc.StartInfo.FileName= “notepad.exe”;

proc.Start();

proc.WaitForExit();

当然该代码片段本身无法编译,而这正是 Snippet Compiler 的用武之地。图 1 显示了 Snippet Compiler 中的这一代码示例。

1 Snippet Compiler

要测试该代码片段,只须按 play(运行)按钮(绿色三角形),它就会在调试模式下运行。该代码片段将生成一个弹出式控制台应用程序,并且将显示记事本。当您关闭记事本时,该控制台应用程序也将关闭。

就我个人而言,我是在尝试为某位向我求助的人士创建一个小型示例时,才发现 Snippet Compiler 是如此宝贵的 — 如果不使用该工具,则我通常必须新建一个项目,确保每个部分都能编译通过,然后将代码片段发送给求助者,并删除该项目。Snippet Compiler 使得这一过程变得更加容易、更加愉快。

Snippet Compiler 由 Jeff Key 编写,并且可以从 http://www.sliver.com/dotnet/SnippetCompiler 下载。

返回页首返回页首

Regulator

Regulator 是最后一个添加到我的头等工具清单中的。它是一种很有特色的工具,能够使生成和测试正则表达式变得很容易。人们对正则表达式重新产生了兴趣,因为它们在 .NET 框架中受到很好的支持。正则表达式用来基于字符、频率和字符顺序定义字符串中的模式。它们最常见的用途是作为验证用户输入有效性的手段或者作为在较大字符串中查找字符串的方法 — 例如,在 Web 页上查找 URL 或电子邮件地址。

Regulator 使您可以输入一个正则表达式以及一些针对其运行该表达式的输入内容。这样,在应用程序中实现该正则表达式之前,您可以了解它将产生什么效果以及它将返回哪些种类的匹配项。 2 显示了带有简单正则表达式的 Regulator。

文档中包含该正则表达式 — 在该示例中,它是 [0-9]*,应该匹配一行中任意数量的数字。右下侧的框中含有针对该正则表达式的输入,而左下侧的框显示了该正则表达式在输入内容中找到的匹配项。在这样的单独应用程序中编写和测试正则表达式,要比尝试在您的应用程序中处理它们容易得多。

Regulator 中的最佳功能之一是能够在 regexlib.com 搜索联机正则表达式库。例如,如果您在搜索框中输入字符串“phone”,您将找到 20 种以上能够匹配各种电话号码的不同的正则表达式,包括用于英国、澳大利亚的表达式以及其他许多电话号码。Regulator 由 Roy Osherove 编写,并且可以在 http://royo.is-a-geek.com/regulator 下载。

返回页首返回页首

CodeSmith

CodeSmith 是一种基于模板的代码生成工具,它使用类似于 ASP.NET 的语法来生成任意类型的代码或文本。与其他许多代码生成工具不同,CodeSmith 不要求您订阅特定的应用程序设计或体系结构。使用 CodeSmith,可以生成包括简单的强类型集合和完整应用程序在内的任何东西。

当您生成应用程序时,您经常需要重复完成某些特定的任务,例如编写数据访问代码或者生成自定义集合。CodeSmith 在这些时候特别有用,因为您可以编写模板自动完成这些任务,从而不仅提高您的工作效率,而且能够自动完成那些最为乏味的任务。CodeSmith 附带了许多模板,包括对应于所有 .NET 集合类型的模板以及用于生成存储过程的模板,但该工具的真正威力在于能够创建自定义模板。为了使您能够入门,我将快速介绍一下如何生成自定义模板。

返回页首返回页首

生成自定义模板

CodeSmith 模板只是一些可以在任意文本编辑器中创建的文本文件。它们的唯一要求是用 .cst 文件扩展名来保存它们。我将要生成的示例模板将接受一个字符串,然后基于该字符串生成一个类。创建模板的第一步是添加模板头,它可声明模板的语言、目标语言以及简要模板说明:

<%@ CodeTemplate Language=”C#”   

   TargetLanguage=”C#”

   Description=”Car Template” %>

模板的下一部分是属性声明,在这里可声明将在模板每次运行时指定的属性。就该模板而言,我要使用的唯一属性只是一个字符串,因此属性声明如下所示:

<%@ Property Name=”ClassName” Type=”String” Category=”Context”

    Description=”Class Name” %>

该属性声明将使 ClassName 属性出现在 CodeSmith 属性窗口中,以便可以在模板运行时指定它。下一步是实际生成模板主体,它非常类似于用 ASP.NET 进行编码。您可以在 3 中查看该模板的主体。[编辑更新 — 6/16/2004:图 3 中的代码已被更新,以便对多线程操作保持安全。]

正如您所见,该模板接受字符串输入并使用该类名生成单独的类。在模板主体中,使用与 ASP.NET 中相同的起始和结束标记。在该模板中,我只是插入属性值,但您还可以在这些标记内部使用任意类型的 .NET 代码。在该模板完成之后,您就可以通过双击它或者从 CodeSmith 应用程序中打开它将其加载到 CodeSmith 中。 4 显示了已经加载到 CodeSmith 中的该模板。

您可以看到左侧的属性正是我在该模板中声明的属性。如果我输入“SingletonClass”作为类名,并单击 Generate 按钮,则将生成 3 的底部显示的类。

CodeSmith 使用起来相当容易,如果能够正确应用,则可以产生一些令人难以置信的结果。面向代码生成的应用程序中最常见的部分之一是数据访问层。CodeSmith 包括一个名为 SchemaExplorer 的特殊的程序集,可用来从表、存储过程或几乎任何其他 SQL Server? 对象生成模板。

CodeSmith 由 Eric J. Smith 编写,并且可以在 http://www.ericjsmith.net/codesmith 下载。

返回页首返回页首

NUnit

NUnit 是为 .NET 框架生成的开放源代码单元测试框架。NUnit 使您可以用您喜欢的语言编写测试,从而测试应用程序的特定功能。当您首次编写代码时,单元测试是一种测试代码功能的很好方法,它还提供了一种对应用程序进行回归测试的方法。NUnit 应用程序提供了一个用于编写单元测试的框架,以及一个运行这些测试和查看结果的图形界面。

返回页首返回页首

编写 NUnit 测试

作为示例,我将测试 .NET 框架中 Hashtable 类的功能,以确定是否可以添加两个对象并且随后检索这些对象。我的第一步是添加对 NUnit.Framework 程序集的引用,该程序集将赋予我对 NUnit 框架的属性和方法的访问权。接下来,我将创建一个类并用 TestFixture 属性标记它。该属性使 NUnit 可以知道该类包含 NUnit 测试:

using System;

using System.Collections;

using NUnit.Framework;

namespace NUnitExample

{

    [TestFixture]

    public class HashtableTest {

        public HashtableTest() {

        }

    }

}

下一步,我将创建一个方法并用 [Test] 属性标记它,以便 NUnit 知道该方法是一个测试。然后,我将建立一个 Hashtable 并向其添加两个值,再使用 Assert.AreEqual 方法查看我是否可以检索到与我添加到 Hashtable 的值相同的值,如下面的代码所示:

[Test]

public void HashtableAddTest()

{

    Hashtable ht = new Hashtable();

    ht.Add(“Key1″, “Value1″);

    ht.Add(“Key2″, “Value2″);

    Assert.AreEqual(“Value1″, ht["Key1"], “Wrong object returned!”);

    Assert.AreEqual(“Value2″, ht["Key2"], “Wrong object returned!”);

}

这将确认我可以首先向 Hashtable 中添加值并随后检索相应的值 — 这是一个很简单的测试,但能够表现 NUnit 的功能。存在许多测试类型以及各种 Assert 方法,可使用它们来测试代码的每个部分。

要运行该测试,我需要生成项目,在 NUnit 应用程序中打开生成的程序集,然后单击 Run 按钮。图 5 显示了结果。当我看到那个大的绿色条纹时,我有一种兴奋和头晕的感觉,因为它让我知道测试已经通过了。这个简单的示例表明 NUnit 和单元测试是多么方便和强大。由于能够编写可以保存的单元测试,并且每当您更改代码时都可以重新运行该单元测试,您不仅可以更容易地检测到代码中的缺陷,而且最终能够交付更好的应用程序。

5 NUnit

NUnit 是一个开放源代码项目,并且可以从 http://www.nunit.org 下载。还有一个优秀的 NUnit Visual Studio .NET 外接程序,它使您可以直接从 Visual Studio 中运行单元测试。您可以在 http://sourceforge.net/projects/nunitaddin 找到它。有关 NUnit 及其在测试驱动开发中的地位的详细信息,请参阅文章“Test-Driven C#: Improve the Design and Flexibility of Your Project with Extreme Programming Techniques”(MSDN ®Magazine 2004 年 4 月刊)。

返回页首返回页首

FxCop

.NET 框架非常强大,这意味着存在创建优秀应用程序的极大可能,但是也同样存在创建劣质程序的可能。FxCop 是有助于创建更好的应用程序的工具之一,它所采用的方法是:使您能够分析程序集,并使用一些不同的规则来检查它是否符合这些规则。FxCop 随附了由 Microsoft 创建的固定数量的规则,但您也可以创建并包括您自己的规则。例如,如果您决定所有的类都应该具有一个不带任何参数的默认构造函数,则可以编写一条规则,以确保程序集的每个类上都具有一个构造函数。这样,无论是谁编写该代码,您都将获得一定程度的一致性。如果您需要有关创建自定义规则的详细信息,请参阅 John Robbins 的有关该主题的 Bugslayer 专栏文章(MSDN ® Magazine 2004 年 6 月刊)。

那么,让我们观察一下实际运行的 FxCop,并且看一下它在我一直在处理的 NUnitExample 程序集中找到哪些错误。当您打开 FxCop 时,您首先需要创建一个 FxCop 项目,然后向其添加您要测试的程序集。在将该程序集添加到项目以后,就可以按 Analyze,FxCop 将分析该程序集。 6 中显示了在该程序集中找到的错误和警告。

FxCop 在我的程序集中找到了几个问题。您可以双击某个错误以查看详细信息,包括规则说明以及在哪里可以找到更多信息。(您可以做的一件有趣的事情是在框架程序集上运行 FxCop 并查看发生了什么事情。)

FxCop 可以帮助您创建更好的、更一致的代码,但它无法补偿低劣的应用程序设计或非常简单拙劣的编程。FxCop 也不能替代对等代码检查,但是因为它可以在进行代码检查之前捕获大量错误,所以您可以花费更多时间来解决严重的问题,而不必担心命名约定。FxCop 由 Microsoft 开发,并且可以从 http://www.gotdotnet.com/team/fxcop 下载。

返回页首返回页首

Lutz Roeder 的 .NET Reflector

下一个必不可少的工具称为 .NET Reflector,它是一个类浏览器和反编译器,可以分析程序集并向您展示它的所有秘密。.NET 框架向全世界引入了可用来分析任何基于 .NET 的代码(无论它是单个类还是完整的程序集)的反射概念。反射还可以用来检索有关特定程序集中包含的各种类、方法和属性的信息。使用 .NET Reflector,您可以浏览程序集的类和方法,可以分析由这些类和方法生成的 Microsoft 中间语言 (MSIL),并且可以反编译这些类和方法并查看 C# 或 Visual Basic ®.NET 中的等价类和方法。

为了演示 .NET Reflector 的工作方式,我将加载和分析前面已经显示的 NUnitExample 程序集。图 7 显示了 .NET Reflector 中加载的该程序集。

7 NUnitExample 程序集

.NET Reflector 内部,有各种可用来进一步分析该程序集的工具。要查看构成某个方法的 MSIL,请单击该方法并从菜单中选择 Disassembler。

除了能够查看 MSIL 以外,您还可以通过选择 Tools 菜单下的 Decompiler 来查看该方法的 C# 形式。通过在 Languages 菜单下更改您的选择,您还可以查看该方法被反编译到 Visual Basic .NET 或 Delphi 以后的形式。以下为 .NET Reflector 生成的代码:

public void HashtableAddTest()

{

    Hashtable hashtable1;

    hashtable1 = new Hashtable();

    hashtable1.Add(“Key1″, “Value1″);

    hashtable1.Add(“Key2″, “Value2″);

    Assert.AreEqual(“Value1″, hashtable1["Key1"],

       “Wrong object returned!”);

    Assert.AreEqual(“Value2″, hashtable1["Key2"],

       “Wrong object returned!”);

}

前面的代码看起来非常像我为该方法实际编写的代码。以下为该程序集中的实际代码:

public void HashtableAddTest()

{

    Hashtable ht = new Hashtable();

    ht.Add(“Key1″, “Value1″);

    ht.Add(“Key2″, “Value2″);

    Assert.AreEqual(“Value1″, ht["Key1"],

        “Wrong object returned!”);

    Assert.AreEqual(“Value2″, ht["Key2"],

        “Wrong object returned!”);

}

尽管上述代码中存在一些小的差异,但它们在功能上是完全相同的。

虽然该示例是一种显示实际代码与反编译代码之间对比的好方法,但在我看来,它并不代表 .NET Reflector 所具有的最佳用途 — 分析 .NET 框架程序集和方法。.NET 框架提供了许多执行类似操作的不同方法。例如,如果您需要从 XML 中读取一组数据,则存在多种使用 XmlDocument、XPathNavigator 或 XmlReader 完成该工作的不同方法。通过使用 .NET Reflector,您可以查看 Microsoft 在编写数据集的 ReadXml 方法时使用了什么,或者查看他们在从配置文件读取数据时做了哪些工作。.NET Reflector 还是一个了解以下最佳实施策略的优秀方法:创建诸如 HttpHandlers 或配置处理程序之类的对象,因为您可以了解到 Microsoft 工作组实际上是如何在框架中生成这些对象的。

.NET Reflector 由 Lutz Roeder 编写,并且可以从 http://www.aisto.com/roeder/dotnet 下载。

返回页首返回页首

NDoc

编写代码文档资料几乎总是一项令人畏惧的任务。我所说的不是早期设计文档,甚至也不是更为详细的设计文档;我说的是记录类上的各个方法和属性。NDoc 工具能够使用反射来分析程序集,并使用从 C# XML 注释生成的 XML 自动为代码生成文档资料。XML 注释仅适用于 C#,但有一个名为 VBCommenter 的 Visual Studio .NET Power Toy,它能够为 Visual Basic .NET 完成类似的工作。此外,下一版本的 Visual Studio 将为更多语言支持 XML 注释。

使用 NDoc 时,您仍然在编写代码的技术文档,但您是在编写代码的过程中完成了文档编写工作(在 XML 注释中),而这更容易忍受。使用 NDoc 时,第一步是为您的程序集打开 XML 注释生成功能。右键单击该项目并选择 Properties | Configuration Properties | Build,然后在 XML Documentation File 选项中输入用于保存 XML 文件的路径。当该项目生成时,将创建一个 XML 文件,其中包含所有 XML 注释。下面是 NUnit 示例中的一个用 XML 编写了文档的方法:

/// <summary>

/// This test adds a number of values to the Hashtable collection

/// and then retrieves those values and checks if they match.

/// </summary>

[Test]

public void HashtableAddTest()

{

    //Method Body Here

}

有关该方法的 XML 文档资料将被提取并保存在 XML 文件中,如下所示:

<member name=”M:NUnitExample.HashtableTest.HashtableAddTest”>

  <summary>This test adds a number of values to the Hashtable collection

    and then retrieves those values and checks if they match.</summary>

</member>

NDoc 使用反射来考察您的程序集,然后读取该文档中的 XML,并且将它们进行匹配。NDoc 使用该数据来创建任意数量的不同文档格式,包括 HTML 帮助文件 (CHM)。在生成 XML 文件以后,下一步是将程序集和 XML 文件加载到 NDoc 中,以便可以对它们进行处理。通过打开 NDoc 并单击 Add 按钮,可以容易地完成该工作。

在将程序集和 XML 文件加载到 NDoc 中并且使用可用的属性范围自定义输出以后,单击 Generate 按钮将启动生成文档资料的过程。使用默认的属性,NDoc 可以生成一些非常吸引人并且实用的 .html 和 .chm 文件,从而以快速有效的方式自动完成原来非常乏味的任务。

NDoc 是一个开放源代码项目,并且可以从 http://ndoc.sourceforge.net 下载。

返回页首返回页首

NAnt

NAnt 是一个基于 .NET 的生成工具,与当前版本的 Visual Studio .NET 不同,它使得为您的项目创建生成过程变得非常容易。当您拥有大量从事单个项目的开发人员时,您不能依赖于从单个用户的座位进行生成。您也不希望必须定期手动生成该项目。您更愿意创建每天晚上运行的自动生成过程。NAnt 使您可以生成解决方案、复制文件、运行 NUnit 测试、发送电子邮件,等等。遗憾的是,NAnt 缺少漂亮的图形界面,但它的确具有可以指定应该在生成过程中完成哪些任务的控制台应用程序和 XML 文件。注意,MSBuild(属于 Visual Studio 2005 的新的生成平台)为每种健壮的生成方案进行了准备,并且由基于 XML 的项目文件以类似的方式驱动。

返回页首返回页首

实际运行的 NAnt

在该示例中,我将为前面创建的 NUnitExample 解决方案创建一个 NAnt 版本文件。首先,我需要创建一个具有 .build 扩展名的 XML 文件,将其放在我的项目的根目录中,然后向该文件的顶部添加一个 XML 声明。我需要添加到该文件的第一个标记是 project 标记:

<?xml version=”1.0″?>

<project name=”NUnit Example” default=”build” basedir=”.”>

    <description>The NUnit Example Project</description>

</project>

项目标记还用于设置项目名称、默认目标以及基目录。Description 标记用于设置该项目的简短说明。

接下来,我将添加 property 标记,该标记可用于将设置存储到单个位置(随后可以从文件中的任意位置访问该位置)。在该例中,我将创建一个名为 debug 的属性,我可以随后将其设置为 true 或 false,以反映我是否要在调试配置下编译该项目。(最后,这一特定属性并未真正影响如何生成该项目;它只是您设置的一个变量,当您真正确定了如何生成该项目时将读取该变量。)

接下来,我需要创建一个 target 标记。一个项目可以包含多个可在 NAnt 运行时指定的 target。如果未指定 target,则使用默认 target(我在 project 元素中设置的 target)。在该示例中,默认 target 是 build。让我们观察一下 target 元素,它将包含大多数生成信息:

<target name=”build” description=”compiles the source code”>

</target>

target 元素内,我将把 target 的名称设置为 build,并且创建有关该 target 将做哪些工作的说明。我还将创建一个 csc 元素,该元素用于指定应该传递给 csc C# 编译器的数据。让我们看一下该 csc 元素:

<csc target=”library” output=”.\bin\debug\NUnitExample.dll”

    debug=”${debug}”>

<references>

    <includes name=”C:\program files\NUnit V2.1\bin\NUnit.Framework.dll”/>

</references>

    <sources>

       <includes name=”HashtableTest.cs”/>

    </sources>

</csc>

首先,我必须设置该 csc 元素的 target。在该例中,我将创建一个 .dll 文件,因此我将 target 设置为 library。接下来,我必须设置 csc 元素的 output,它是将要创建 .dll 文件的位置。最后,我需要设置 debug 属性,它确定了是否在调试中编译该项目。因为我在前面创建了一个用于存储该值的属性,所以我可以使用下面的字符串来访问该属性的值:${debug}。Csc 元素还包含一些子元素。我需要创建两个元素:references 元素将告诉 NAnt 需要为该项目引用哪些程序集,sources 元素告诉 NAnt 要在生成过程中包含哪些文件。在该示例中,我引用了 NUnit.Framework.dll 程序集并包含了 HashtableTest.cs 文件。 8 中显示了完整的生成文件。(您通常还要创建一个干净的 target,用于删除生成的文件,但为了简洁起见,我已经将其省略。)

要生成该文件,我需要转到我的项目的根目录(生成文件位于此处),然后从该位置执行 nant.exe。如果生成成功,您可以在该应用程序的 bin 目录中找到 .dll 和 .pdb 文件。尽管使用 NAnt 肯定不像在 Visual Studio 中单击 Build 那样简单,但它仍然是一种非常强大的工具,可用于开发按自动计划运行的生成过程。NAnt 还包括一些有用的功能,例如能够运行单元测试或者复制附加文件(这些功能没有受到当前 Visual Studio 生成过程的支持)。

NAnt 是一个开放源代码项目,并且可以从 http://nant.sourceforge.net 下载。

返回页首返回页首

转换工具

我已经将两个独立的工具合在一起放在标题“转换工具”下面。这两个工具都非常简单,但又可能极为有用。第一个工具是 ASP.NET 版本转换器,它可用于转换 ASP.NET(虚拟目录在它下面运行)的版本。第二个工具是 Visual Studio Converter,它可用于将项目文件从 Visual Studio .NET 2002 转换到 Visual Studio .NET 2003。

IIS 处理请求时,它会查看正在请求的文件的扩展名,然后基于该 Web 站点或虚拟目录的扩展名映射,将请求委派给 ISAPI 扩展或者自己处理该请求。这正是 ASP.NET 的工作方式;将为所有 ASP.NET 扩展名注册扩展名映射,并将这些扩展名映射导向 aspnet_isapi.dll。这种工作方式是完美无缺的,除非您安装了 ASP.NET 1.1 — 它会将扩展名映射升级到新版本的 aspnet_isapi.dll。当在 ASP.NET 1.0 上生成的应用程序试图用 1.1 版运行时,这会导致错误。要解决该问题,可以将所有扩展名映射重新转换到 1.0 版的 aspnet_isapi.dll,但是由于有 18 种扩展名映射,所以手动完成这一工作将很枯燥。这正是 ASP.NET 版本转换器可以发挥作用的时候。使用这一小型实用工具,可以转换任何单个 ASP.NET 应用程序所使用的 .NET 框架的版本。

9 ASP.NET 版本转换器

9 显示了实际运行的 ASP.NET 版本转换器。它的使用方法非常简单,只须选择相应的应用程序,然后选择您希望该应用程序使用的 .NET 框架版本。该工具随后将使用 aspnet_regiis.exe 命令行工具将该应用程序转换到所选版本的框架。随着将来版本的 ASP.NET 和 .NET 框架的发布,该工具将变得更为有用。

ASP.NET 版本转换器由 Denis Bauer 编写,并且可以从 http://www.denisbauer.com/NETTools/ASPNETVersionSwitcher.aspx 下载。

Visual Studio .NET 项目转换器(参见图 10)非常类似于 ASP.NET 版本转换器,区别在于它用于转换 Visual Studio 项目文件的版本。尽管在 .NET 框架的 1.0 版和 1.1 版之间只有很小的差异,但一旦将项目文件从 Visual Studio .NET 2002 转换到 Visual Studio .NET 2003,将无法再把它转换回去。虽然这在大多数时候可能不会成为问题(因为在 .NET 框架 1.0 版和 1.1 版之间几乎没有什么破坏性的更改),但在某些时刻您可能需要将项目转换回去。该转换器可以将任何解决方案或项目文件从 Visual Studio 7.1 (Visual Studio .NET 2003) 转换到 Visual Studio 7.0 (Visual Studio .NET 2002),并在必要时进行反向转换。

10 Visual Studio .NET 项目转换器

Visual Studio .NET 项目转换器由 Dacris Software 编写。该工具可以从 http://www.codeproject.com/macro/vsconvert.asp 下载。

返回页首返回页首

小结

本文采用走马观花的方式介绍了上述工具,但我已经试图起码向您提供足够的信息以激起您的好奇心。我相信本文已经让您在某种程度上领悟了几个免费工具,您可以立即开始使用这些工具来编写更好的项目。同时,我还要敦促您确保自己拥有所有其他可以获得的合适工具,无论是最新版本的 Visual Studio、功能强大的计算机还是免费的实用工具。拥有合适的工具将使一切变得大不相同。

James Avery 是一位使用 .NET 和其他 Microsoft 技术的顾问。他已经撰写了许多书籍和文章,他的最新著作是《ASP.NET Setup and Configuration Pocket Reference》(Microsoft Press, 2003)。您可以通过 javery@infozerk.com 向他发送电子邮件,并且在 http://www.dotavery.com/blog 阅读他的网络日记。

本文摘自 MSDN Magazine2004 7 刊。

该杂志可在各地的报摊购买,也可以订阅

2005年01月20日

A ↑
ACCESS.CHM – Windows帮助文件
ACCSTAT.EXE – 辅助状态指示器
ADVAPI32.DLL – 高级Win32应用程序接口
AHA154X.MPD – SCSI驱动程序
AM1500T.VXT – 网卡驱动程序
AM2100.DOS – 网卡驱动程序
APPSTART.ANI – 动画光标
APPS.HLP – Windows帮助文件
AUDIOCDC.HLP – “易码编码解码器”帮助文件
AWARDPR32.EXE – 增加打印机工具
B ↑
BIGMEM.DRV – BIGMEM虚拟设备
BILLADD.DLL – 动态链接库(支持MSW)
BIOS.VXD – 即插即用BIOS接口
BUSLOGIC.MPD – SCSI驱动程序
C ↑
CALC.EXE – 计算器应用程序
CANNON800.DRV – 佳能打印机驱动程序
CHOICE.COM – MSDOS命令
CHS16.FON – 字体文件(16点阵中文)
CANYON.MID – MIDI文件例子
CARDDRV.EXE – PCMCIA支持程序
CDFS.VXD – CDROM文件系统
CDPLAYER.EXE – CD播放器应用程序
CDPLAYER.HLP – CD播放器帮助文件
CHIPS.DRV – 芯片技术显示驱动程序
CHKDSK.EXE – DOS磁盘检查工具
CHOOSUSR.DLL – 网络客户
CHOKD.WAV – 声音文件例子
CIS.SCP – 脚本文件(演示如何建立与Compuserve的PPP连接)
CLAIRE~1.RMI – MINI序列
CLIP.INF – 安装信息文件(剪粘板查看器)
CLOSEWIN.AVI – 影片剪辑(AVI)(如何关闭窗口)
CMC.DLL:Mail – API1.0公共信息调用
COMBUFF.VXD – COM端虚拟设备
COMCTL32.DLL – 32位Shell组件
COMDLG32.DLL – 32位公共对话库
COMIC.TIF – TrueType字体文件(Comic Sans Ms)
COMMAND.COM – 公共对话库
COMMDLG.DLL – 16位公共对话库
COMMON.HLP – OLE帮助文件
COMPOBJ.DLL – OLE16/32互操作库
CONAGEN.EXE – 32位控制支持
CONFAPI.DLL – Microsoft网络组件
CONFIG.SYS – 配置文件
CONFIG.TXT – 自述文件(配置文件中如何使用命令)
CONTROL.EXE – “控制面板”应用程序
COOL.DLL – 统一资源定位文件
COPY.INF – 安装信息文件
CP-1250.NLS – 自然语言支持文件
CPQNDIS.DOS – 网卡驱动程序
CPQNDIS3.VXD – Compaq以太控制器NDIS驱动程序
CR3240.EXE – DOS6.22中文版CR3240打印机驱动程序
CRTDLL.DLL – Microsoft C运行时间库
CSETUP.EXE – MSDOS6.22中文设置程序
CSETUP.WIN – CSetup.exe支持文件
CSMAPPER.SYS – 系统文件(支持PCMCIA)
CSPMAN.DLL – 动态链接库(SoundBlaster 16 Driver)
CTRLPAN.EXE – MSDOS命令(系统控制台程序)
CTRLPAN.EXE – MSDOS6.22中文版控制程序

D ↑
DBLBVFF.SYS – 双缓冲驱动程序
DC21X4.SYS – NDIS3驱动程序
DCIMAN.DLL – 显示控制接口
DCIMAN32.DLL – 显示控制接口
DDEML.DLL – DDE信息库
DEBMP.DLL – 光栅显示设备
DEBUG.EXE – Debug调试工具
DECPSMW4.INF – 安装信息文件(DEC打印机安装)
DECLAN.VXD – DECLAN网卡驱动程序
DEFRAG – 打开”选定驱动器”窗口
DEL.INF – 安装信息文件
DELTEMP.COM – 初始化帮助工具
DELTREE.EXE – 删除目录工具
DEMET.DLL – 向量显示工程
DESKCP16.DLL – 16位桌面控制面板
DESKTOP.MSN – Microsoft网络组件
DESS.DLL – 表格显示工程
DEWP.DLL – 字处理显示工程
DIALER.CNT – 对话帮助
DIALER.EXE – 电话拨号程序
DIALER.HLP – 电话拨号帮助文件
DIALMON.EXE – 拨号监视程序(IE2.0)
DIBENG.DLL – 独立设备的位同工程
DICONIX.DRX – 打印机驱动
DING.WAN – 声音文件例子
DIRECTCC.EXE – 直接线缆连接应用程序
DISKCOMP – 磁盘比较工具
DISKCOPY.COM – 磁盘拷贝工具
DISKDRV.INF – 安装信息
DISPLAY.TXT – 显示卡README文件
DMCOLOR.DLL – 通用打印驱动程序彩打支持库
DOSKEY.COM – DOS命令
DOSX.EXE – MSDOS配置程序
DRAGDROP.AVI – 影片剪辑(AVI)(如何使用拖拽)
DRIVER.SYS – DOS驱动程序
DRVSPACE.EXE – 磁盘压缩工具
DRVSPACE.HLP – 磁盘空间管理帮助文件

E ↑
EDIT.COM – DOS文字编辑程序
EDLIN.EXE – DOS行编辑器
EE16.VXD – 虚拟设备驱动程序
EISA.VXD – 即插即用EISA总线计数器
EK550C.ICM – 打印机简介
EMM386.EXE – 扩展内存管理程序
ENABLE.INF – 初始化信息
ENGCT.EXE – MSN支持文件
ESCP24SC.DRV – 设备驱动程序
EUDCEDIT.CNF – 帮助索引文件(造字程序)
EUDCEDIT.EXE – 造字程序
EUDCEDIT.HLP – 帮助文件(造字程序)
EUDCEDIT.INF – 安装信息文件(造字程序)
EVX16.DOS – 网卡驱动程序
EWRK3.DOS – 网卡驱动程序
EWRK3.SYS – 网卡驱动程序
EXCEL.XLS – Excel5.0文件模板
EXCEL4.XLS – Excel4.0文件模板
EXCHANGE.TXT – Inbox和Exchange的自述文件
EXCHNG.CNT – Mail/Exchange帮助文件内容
EXCHNG.HLP – Mail/Exchange组件
EXCHNG32.EXE – 对用户的交换机作初始设置
EXPLORER.AVI – 影片剪辑(AVI)(如何使用资源管理器)
EXPLORER.EXE – “资源管理器”应用程序
EXPO.HLP – 帮助文件(产品信息)
EXPOSTRT.EXE – 产品信息应用程序
EXTRACT.EXE – 解压缩工具
EXTRA.TXT – 自述文件(联机访问附加文件)

F ↑
FAQ.TXT – 疑难解答自述文件
FAXCODEC.DLL – 传真编码/译码器
FAXCOVER.EXE – 封面编辑器
FC.EXE – DOS命令,比较两个文件
FD16-700.MPD – SCSI驱动程序
FD8XX.MPD – SCSI驱动程序
FDISK.EXE – DOS命令,在硬盘上建立、删除及显示当前分区
FILESEC.VXD – 文件存取控制管理器
FILEXFER.CNT – 文件传输帮助文件内容
FILEXFER.EXE – Microsoft文件传输
FIND.AVI – 影片剪辑(如何使用查找)
FIND.EXE – 寻找指定字符串命令
FINDMVI.DLL – 媒体视觉支持
FINSTALL.DLL – 字库安装程序
FINSTALL.HLP – 字库安装帮助文件
FLSIMTD.VXD – PCMCIA支持
FLSIMTD.VXD – PCMCIA支持
FONT16.EXE – DOS6.22中文版16点阵字体驱动程序
FONTS.INF – 字体选择初始化信息
FONTVIEW.EXE – 字体浏览程序
FORMAT.COM – DOS磁盘格式化工具
FOUTLINE.EXE – 轮廓字体驱动程序
FRAMEBUF.DRV – SVGA显示器驱动程序
FTE.DLL – 声音浏览文件传输工程文件
FTP.EXE – 文件传输协议TCP工具
FURELI~1.RMI – MINI序列
G ↑
GBK.TXT – 中文Windows95GBK代码集字符定义表
GDI.EXE – 简版WIN3.1图形界面
GDI32.DLL – 32位GDI图形界面
GENERAL.IDF – 一般MIDI指示器
GRPCONV.EXE – Windows程序组转换器
GUIDE.EXE – 应用程序(MSN)

H ↑
HARDWARE.TXT – 硬件自述文件
HOSTS.SAM – TCP配置
HPCLRLSK.ICM – 打印简介
HPDESK.ICM – 打印机简介表
HPDSKJET.DRV – 打印机驱动程序
HPEISA.VXD – 网络适配器驱动程序
HPJAHLP.CNT – JetAdmin程序帮助文件
HPJD.DLL – HPJetAdmin支持程序
HPLAN.DOS – 网络适配器驱动程序
HPLJ300.DRV – HPLJ300DPI打印机驱动程序
HPLJ300.EXE – MSDOS命令(HP打印机驱动)
HPLJ-31.SPD – 打印机驱动程序
HPLJ600.DRV – HPLJ600DPI打印机驱动程序
HPLJP-V4.INF – 打印机安装信息
HPNETPRN.INF – HPJetAdmin支持程序
HPPJXL31.SPD – 打印机驱动程序
HPPLOT.DRV – 打印机驱动程序
HPPLOT.HLP – 打印机驱动程序帮助文件
HPPRARBK.DLL – HPJetAdmin支持程序
HPPRARRK.HLP – HPJetAdmin支持程序帮助文件
HPVCM.HPM – 打印机驱动程序
HSFLOP.PDR – HSFLOP虚拟设备
HTICONS.DLL – 终端设备动态链接库
HYPERTRM.CNT – 终端设备帮助文件
HYPERTRM.EXE – 终端设备应用程序
HYPERTRM.HLP – “超级终端”帮助
HZKBD.EXE – 常用输入方法程序
HZVIO95.EXE – 显示驱动程序

I ↑
I82593.DOS – 网络适配器驱动程序
IB401917.SPD – 打印机驱动程序
IBM20470.SPD – 打印机驱动程序
IBM20K.DOS – 网络适配器驱动程序
ICM32.DLL – 图象颜色匹配程序
ICMOI.DLL – 用户界面颜色匹配程序
ICONLIB.DLL – 图符库
IEXPLORE.CNT – 帮助索引文件(IE)
IEXPLORE.EXE – InternetExplore
IEXPLORE.HLP – 帮助文件(IE)
IFSHLP.SYS – 文件系统安装帮助文件
IFSMGR.VXD – 文件系统安装管理程序
IMAGEOIT.EXE – 图象编辑器光标程序
IMCLIENT.DLL – Microsoft网络组件
IME.CNT – 帮助索引文件(中文输入法)
IME.HLP – Windows帮助文件
IME.INF – 安装信息文件(中文输入法)
IMEGEN.CNF – 帮助索引文件(输入法生成器)
IMEGEN.EXE – 输入法生成器
IMEGEN.HLP – 帮助文件(输入法生成器)
IMEINFO.INI – 输入法初始化文件
IMM32.DLL – WIN32IMM应用程序界面
INBOX.EXC – 邮件组件
INDICDLL.DLL – 多语言组件
INET.TXT – IE自述文件
INET16.DLL – 动态链接库(支持IE2.0)
INETAB32.DLL – 动态链接库(支持Internet mail)
INETCFG.DLL – 动态链接库(支持IE2.0)
INETCPL.CPL – 控制面板文件(配置IE2.0)
INETMAIL.INF – 安装信息文件(Internet mail)
INETWIZ.EXE – Internet安装向导
INFORMS.WPF – 样板文件
INSTBE.BAT – Microsoft网络组件
INSTDICT.EXE – MSDOS命令(输入法安装程序)
INTB.VXD – 13号中断虚拟设备
INTL.CPL – 控制面板
INT-MAIL.CNT – 帮助索引文件(Internet mail)
IOS.INI – 设置需要安全保护的程序
IOSCLASS.DLL – CDROM安装程序
IRMATR.DOS – 网络适配器驱动程序
ISAPNP.VXD – ISA总线即插即用程序
 ↑
JOY.CPL – 游戏杆控制面板
JOYSTICK.INF – 多媒体安装信息
JP350.DRV – 打印机驱动程序
JUNGLE~1.WAV – 声音文件

K ↑
KBDBE.KBD – 比利时键盘格式
KBDBR.KBD – 巴西键盘格式
KBDCA.KBD – 法国、加拿大键盘格式
KBDOS.KBD – 美国键盘格式
KDCOLOR1.SPD – 打印机驱动程序
KERNEL32.DLL – 32位内核
KEYB.COM – 将控制键盘程序装入内存
KODAKCE.ICM – 柯达ICC配置文件
KRNL386.EXE – Core应用程序

L ↑
LABEL.EXE – DOS命令,设置磁盘名称
LFNBK.EXE – 长文件名备份文件
LFNBK.TXT – LFNBK的自述文件
LICENSE.HLP – Windows帮助文件
LMSCRIPT.EXE – LAN管理器文稿处理程序
LOGIN.EXE – Win95登录NetWare文件
LQ1600K.EXE – LQ1600K打印驱动程序

M ↑
MAILMSG.DLL – 微软网络组件
MAILOPT.INF – MAIL/MAPI设置文件
MAPI.DLL – Mail/Exchange组件
MCIAVI.DRV – 多媒体驱动程序
MCICDA.DRV – MCICD声音驱动程序
MCIOLE.DLL – MCIOLE句柄
MCIPIONR.DRV – MCI光盘驱动程序
MCISEQ.DRV – MCI定序器驱动程序
MCIVISCA.DRV – MCIVCR驱动程序
MCIWAVE.DRV – MCI Ware驱动程序
MDMNOKIA.INF – 安装信息文件(modem)
MDMNOVA.INF – 安装信息文件(modem)
MDMVV.INF – 安装信息文件(modem)
MEMMAKER.EXE – 内存管理程序
MEMMAKER.INF – 内存管理程序设置信息
MFCUIA32.DLL – OLEI公共对话动态链接库
MIDI.INF – 即插即用MIDI设备信息
MINET32.DLL – 支持Internet Mail动态链接库
MKECR5XX.MPD – SCSI驱动程序
ML3XEC16.EXE – 应用程序(MAPI)
MLSHEXT.DLL – 微软核扩展库
MMCI.DLL – 媒体类安装程序
MMDEVLDR.VXD – 即插即用设备装载程序
MMDRV.HLP – 多媒体帮助文件
MMSOUND.DRV – 多媒体驱动程序
MMSYSTEM.DLL – 多媒体系统内核
MMTASK.TSK – 多媒体背景任务交换器
MODE.COM – DOS命令
MODERN.FON – 字体文件(modem)
MORE.COM – DOS命令
MOUSE.DRV – 鼠标驱动程序
MOVEWIN.AVI – 影片剪辑(如何移动窗口)
MPLAYER.EXE – 媒体播放程序
MPR.DLL – WIN32网络接口动态链接库
MSAB32.DLL – 微软网络地址簿
MSBASE.INF – 设置信息
MSCDEX.EXE – DOS MSCDEX CDROM扩展工具
MSCDROM.INF – 类安装设置信息
MSD.EXE – 微软诊断工具
MSD.INI – 微软诊断初始化
MSDET.INF – 系统检测设置信息
MSDISP.INF – 显示设置信息
MSDLG.EXE – 数据链接控制协议
MSDOS.INF – 设置信息
MSDOSDRV.TXT – 设备驱动程序自述文件
MSFT.VRL – 统一资源定位文件
MSGSRV32.EXE – Windows32位虚拟设备信息系统
MSHDC.INF – 硬盘控制设置信息
MSJSTICK.DRV – 即插即用游戏杆驱动程序
MSMAIL.INF – Mail/MAPI初始化
MSMOUSE.INF – 鼠标设置信息
MSN.TXT – 微软网络自述文件
MSNET32.DLL – 微软32位网络API库
MSNEXCH.EXE – 微软网络设置程序
MSNPSS.HLP – 微软网络帮助文件
MSNVER.TXT – 微软网络帮助信息
MSPAINT.EXE – 画图工具
MSPCIC.DLL – PCMCIA类安装与控制工具
MSPORTS.INF – 公共设置信息
MSPP32.DLL – 微软网络打印支持程序
MSPWL32.DLL – 口令清单管理库
MSSBLST.DRV – 声霸卡驱动程序
MSSBLSI.VXD – 声霸卡驱动程序
MSSHRVI.DLL – 共享内核扩展程序
MSSNDSYS.DRV – Windows声音系统驱动程序
MSSP.VXP – Windows NT安全支持
MSTCP.DLL – TCP用户界面
MSVIEWUT.DLL – 显示设备服务数据链接库
MTMMINIP.MPD – SCSI驱动程序
MULLANG.INF – 多种语言字体支持设置信息
MVIWAVE.DRV – 声音驱动程序
N ↑
NBTSTAT.EXE – TCP工具
NDDEAPI.DLL – Workgroups DDE共享接口
NDDENB.DLL – 微软网络DDE NetBIOS接口
NDISHLP.SYS – 实模式NDIS支持驱动程序
NET.EXE – 实模式网络客户软件
NET.INF – 网络检测信息
NET.MSG – 网络客户信息
NET3COM.INF – 网络设置信息
NETAMD.INF – 网络设置信息
NETAPI.DLL – 网络应用程序接口动态链接库
NETAPI32.DLL – 32位网络API动态链接库
NETAVXT.INF – MS内部传输文件
NETBEUI.VXD – 32位NetBEUI协议
NETBIOS.DLL – NetBIOSAPI库
NETDCA.INF – 安装信息文件
NETDDE.EXE – Windows网络动态数据交换
NETDET.INI – NetWare检测文件
NETDI.DLL – 网络设备安装
NETH.MSG – 网络客户帮助信息
NETOS.DLL – NOS检测DLL
NETWATCH.EXE – 网络观测程序
NETWORK.TXT – 网络信息自述文件
NOTEPAD.EXE – 记事本应用程序
NODRIVER.INF – 即插即用设备信息
NOTEPAD.EXE – NOTEPAD文件
NSCL.VXD – NSCL虚拟设备
NW16.DLL – NetWare客户
NWAB32.DLL – 地址簿支持动态链接库
NWLSCON.EXE – 登录文稿控制台程序
NWLSPROC.EXE – NetWare登录处理器
NWNET32.DLL – NetWare客户
NWNP32.DLL – NetWare组件
NWREDIR.VXD – NetWare重定向
NWSERVER.VXD – NCP服务
NWSP.VXD – NCP服务安全提供

O ↑
OEMREVA.INF – 安装信息文件
OLE2.DLL – OLE2.0动态链接库
OLE2.INF – OLE设置信息
OLE32.DLL – 32位OLE2.0组件
OLEAUT32.DLL – OLE2-32自动化
OLECL1.DLL – 对象链接与嵌入客户库
OLEDLG.DLL – Windows OLE2.0用户接口支持
OLESVR.DLL – 对象链接与嵌入服务端库
OLETHK32.DLL – OLE形实替换程序库

P ↑
PACKAGER.EXE – 对象包装程序
PARALINK.VXD – 远程网络存取并行口驱动程序
PBRVSH.EXE – “画图”应用程序
PDOS95.BAT – 进入中文DOS状态
PERF.VXD – 系统性能监视器
PIFMGR.DLL – 程序信息文件管理服务程序
PING.EXE – TCPPing工具
PMSPL.DLL – LAN管理应用程序接口
POWER.DRV – 高级电源管理驱动程序
PPPMAC.VXD – Windows虚拟PPP驱动程序
PRINT.EXE – DOS打印文件
PRINTERS.TXT – 打印信息自述文件
PROGMAN.EXE – 程序管理器
PRTVPD.INF – 打印机升级设置信息

Q ↑
QUIKVIEW.EXE – 快速查看
QUIT.EXE – 退出中文DOS状态

R ↑
README.TXT – Windows95自述文件
REGEDIT.EXE – 注册编辑器
REGSERV.EXE – 远程注册
REGWIE.EXE – 注册工具
REGSERV.INF – 远程注册
RESTORE.EXE – DOS命令
RNAAPP.EXE – 拨号网络应用程序
RNASERV.DLL – 远程网络存取服务
RNASETUP.DLL – 远程网络存取设置动态链接库
RNATHUNK.DLL – 远程网络存取转换支持动态链接库
RNAUI.DLL – 远程网络存取用户接口DLLRNDSRV32.DLL复制服务程序
ROBOTZCL.WAV – 声音文件
ROBOTZWI.WAV – 声音文件
ROMAN.FON – 字型文件
ROUTE.EXE – TCP/IP ROUTE命令
RPCLTC1.DLL – 远程调用库
RPCNS4.DLL – 远程调用库
RPCPP.DLL – 远程调用打印驱动
RPCRT4.DLL – 远程调用库
RPCSS.EXE – 远程调用结点映象
RPLBOOT.SYS – 远程程序装入
RPLIMAGE.DLL – 远程程序装入磁盘映象器
RSRC16.DLL – 资源计量器
RSRCMTR.EXE – 资源计量器
RSRCMTR.INF – 资源计量器
RUMOR.EXE – DDE测试/游戏
RUNDLL.EXE – 把DLL作为应用程序运行
RUNDLL32.EXE – 32位壳组件
S ↑
S3.DRV – S3显示驱动
S3.VXD – S3虚拟设备
SACLIEN.DLL – Microsoft网络组件
SAMPLEVIDEOS – 图象文件
SAPNSP.DLL – Winsock数据连接库
SAVE32.COM – 安装时所需的TSR文件
SB16.VXD – 16位声卡虚拟设备
SB16SND.DRV – 16位声卡驱动
SBAWE.VXD – AWE声卡虚拟设备
SBAWE32.DRV – AWE声卡驱动
SBFM.DRV – 16位声卡驱动
SCANDISK.BAT – MSDOS6.x Scandisk的替代存根模块SCANDISK.BAT磁盘诊断工具
SCANDISK.INI – 磁盘诊断工具
SCANDISK.PIF – 安装磁盘诊断工具时的PIF文件
SCANDSKW.EXE – 磁盘扫描工具
SCANPROG.EXE – 磁盘扫描工具
SCRNSAVE.SCR – 屏幕保护
SCSI.INF – SCSI安装文件文件名描述
SCSIIHLP.VXD – SCSI支持文件
SCSIPORT.PDR – SCSI虚拟设备口
SECUR32.DLL – Microsoft Win32安全服务
SECURCL.DLL – Microsoft网络组件
SEIKO24E.DRV – 打印机驱动
SEIKOSH9.DRV – 打印机驱动
SERIAL.VXD – 串口VCOMM驱动器
SERIFE.FON – 字型文件
SERVER.HLP – 服务器帮助文件
SETMDIR.EXE – SBS文件
SETUP.BIN – 安装支持文件
SETUP.BMP – 安装Wash位图文件
SETUP.EXE – Windows95安装程序
SETUP.INF – 安装信息文件
SETUP.TXT – 安装时的README文件
SETUP4.DLL – 安装支持文件
SETUPPP.INF – 安装信息
SETUPX.DLL – 安装支持
SETVER.EXE – MSDOS版本显示,该程序可在网络上执行
SF4029.EXE – 打印机驱动
SHARE.EXE – MSDOS共享实用程序
SHELL.INF – 安装壳信息
SHELL.VXD – 虚拟壳设备
SHELL2.INF – 颜色组合
SHELL3.INF – 颜色组合
SIZE1-1.CUR – 光标
SIZE1-M.CUR – 光标
SIZE4-M.CUR – 光标
SIZENESW.ANI – 活动光标
SIZEWE.ANI- 活动光标
SKPSFA-1.SPD – 打印机驱动
SLAN.DOS – 网络适配器驱动
SLCD32.MPD – SCSI驱动器
SLENH.DLL – 高级节能选项
SMALLE.FON – 字型文件
SMALLF.FON – 字型文件
SMARTDRV.EXE – 超高速缓存程序
SMARTND.DOS – 网络适配器驱动器
SMC3000.DOS – 网络适配器驱动器
SMC9000.VXD – 网络适配器驱动器
SNAPSHOT.EXE – 抽点
SNAPSHOT.VXD – 抽点虚拟设备
SNDREC32.EXE – 录音机
SNIP.VXD – 网络适配驱动器
SOCKET.VXD – Windows虚拟Socket网卡驱动器SOCKET.VXD PCMCIA支持
SOL.CNT – 纸牌游戏
SOL.HLP – 纸牌游戏帮助文件
SORT.EXE – MSDOS分类实用程序
SOUNDREC.CNT – 录音机帮助文件内容
SOUNDREC.HLP – 录音机帮助文件
SPARROW.WPD – SCSI驱动器
SPARROWX.MPD – SCSI驱动器
SPOOL32.EXE – 打印机支持
SPOOLER.VXD – 打印机共享虚拟设备
SRAMMTD.VXD – PCMCIA支持
SSERIFE.FON – 字型文件
SSERIFF.FON – 字型文件
SSFLYWIN.SCR – 屏幕保护
SSSTARS.SCR – 屏幕保护
STAR24E.DRV – 打印机驱动
STAR9E.DRV – 打印机驱动
START.EXE – 启动程序
STATE.PBK – Microsoft网络组件
STDOLE.TLB – OLE2.0文件
STDOLE32.TLB – OLE2-32文件
STEMO409.DLL – Windows95帮助文件的DLL
STLSO4SS.SPD – 打印机驱动程序
STLS577U.SPD – 打印机驱动程序
STORAGE.DLL – OLE存储器管理库
STRN.DOS – 网络适配器驱动
SUBST.EXE – MSDOS Subst实用程序
SUEXPAND.DLL – LZ DLL安装
SUHELPER.BIN – 安装支持
SUPERVGA.DRV – 高级VGA显示驱动
SURPORT.TXT – PSS支持信息
SVCPROP.DLL – Microsoft网络组件
SVRAPI.DLL – 32位公用服务器API实用程序
SXCIEXT.DLL – Matrox显示驱动支持文件
SYMBOLE.FON – 字型文件
SYS.COM – MSDOS系统实用程序
SYSCLASS.DLL – 系统类库安装
SYSDETMG.DLL – 系统检测库
SYSEDIT.EXE – 系统编辑器
SYSLOGO.RLE – 系统标识
SYSMON.EXE – 系统监控程序
SYSMON.HLP – 系统监控帮助
SYSTEM.DRV – 最小Win3.1标准模式
SYSTHUNK.DLL – Windows系统形实替换程序库
SYSTRAY.EXE – 高级节能管理

T ↑
T128.MPD – SCSI驱动器
T160.MPD – SCSI驱动器
T20N3.VXD – 网络适配驱动器
T30ND.DOS – 网络适配驱动器
T338.MPD – SCSI驱动器
TADA.WAV – 声音文件
TAPI.DLL – API通话程序
TAPI.INF – API通话安装信息文件
TAPI32.DLL – 32位形实替换
TAPIADDR.DLL – API通话程序
TAPIEXE.EXE – API通话组件
TAPIINI.EXE – API通话组件
TASKMAM.EXE – 任务管理器
TCCARC.DOS – 网络适配驱动器
TCTOKCH.VXD – 网络适配驱动器
TELEPHON.CPL – 通话帮助
TESTPS.TXT – PostScript测试
TEXTCHAT.EXE – Microsoft网络组件
THEMIC-1.WAV – 声音文件
THINKJET.DRV – 打印机驱动
THREED.VBX – Windows95浏览
T1850.DRV – 打印机驱动
TIMEDATE.CPL – 时间/日期控制面板
TIMES.TTF – 时间字型
TIMESBD.TTF – 时间粗体字型
TIMESBI.TTF – 时间粗斜体字型
TIMESI.TTF – 时间斜体字型
TIMEZONE.INF – 安装信息
TIMLP232.SPD – 打印机驱动
TIPS.txt – 提示和技巧自述文件
TKPHZR32.SPD – 打印机驱动
TLNK.DOS – 网络适配驱动器
TLNK3.VXD – 网络适配驱动器
TMV1.MPD – SCSI驱动器
TOOLHELP.DLL – 16位开发工具帮助器
TOSHIBA.DRV – 打印机驱动
TOUR.EXE – 浏览文件
TPHAIII.ICM – 打印机简介
TRACERT.EXE – TCP/IP IRACEROUTE命令
TREE.COM – MS DOS树实用程序
TREEEDCL.DLL – Microsoft网络组件
TREENVCL.DLL – Microsoft网络组件
TRIUMPHI.SPD – 打印机驱动
TSD32.DLL – 声音压缩管理器
TSENG.DRV – ET4000W32显示驱动
TTY.DRV – 打印机驱动
TTY.HLP – TTY打印机驱动帮助
TYPELIB.DLL – OLE2.0

U ↑
U9415470.SPD – 打印机驱动
UBNEI.DOS – 网络适配器驱动
ULTRA124.MPD – SCSI驱动器
ULTRA24F.MPD – SCSI驱动器
UMDM16.DLL – 通用调制解调器驱动组件
UMDM32.DLL – 通用调制解调器驱动组件
UNIDRV.DLL – Microsoft通用打印机驱动库
UNIDRV.HLP – 通用打印机驱动帮助
UNIMODEM.VXD – 通用调制解调器驱动
USER32.DLL – 32位用户

V ↑
V86MMGR.VXD – V86MMGR虚拟设备
VCACHE.VXD – VCache虚拟设备
VCD.VXD – 虚拟COM驱动程序
VCOMM.VXD – VCOMM驱动程序
VCOND.VXD – Win32控制台
VDMAD.VXD – VDMAD虚拟设备
VER.DLL – 小型Win3.1安装程序16位版动态链接库
VER.NEW – 版本检测与文件安装库
VERSION.DLL – 32位版本动态链接库
VERX.DLL – 安装程序使用的版本动态库
VFAT.VXD – VFAT文件系统
VFD.VXD – 软盘虚拟设备
VFLATD.VXD – 虚拟平板帧缓存虚拟设备
VGA.DRV – VGA显示驱动程序
VIDCAP.INF – 即插即用VCD信息
VIDEOT.VXD – 视频虚拟设备
VIP.386 – TCP/IP虚拟IP设备
VJOYD.VXD – 游戏棒虚拟设备
VKD.VXD – 虚拟键盘设备
VLB32.DLL – Mail/Exchange组件
VMD.VXD – Win3.1虚拟鼠标驱动程序
VMM.VXD – 虚拟存储管理设备
VMM32.VXD – 虚拟存储管理设备
VMOUSE.VXD – 虚拟鼠标驱动程序
VNBT.386 – NetBIOS传输驱动程序
VNETBIOS.VXD – VNETBIOS虚拟设备
VNETSUP.VXD – 网络支持虚拟设备
VPD.VXD – 虚拟LPT驱动程序
VPICD.VXD – 虚拟可编程干扰控制器设备
VPOWERD.VXD – 高级电源管理虚拟设备
VREDIR.VXD – Microsoft网络32位客户端程序
VSAMI.DLL – AMI文件语法分析程序
VSASC8.DLL – ASCII文件语法分析程序
VSBMP.DLL – BMP文件语法分析程序
VSERVER.VXD – Microsoft网络32位服务器端程序
VSGIF.DLL – GIF文件语法分析程序
VSHARE.VXD – 32位共享虚拟设备驱动程序
VSMSW.DLL – Win写文件语法分析
VSPP.DLL – PowerPoint语法分析程序
VSRTF.DLL – RTF文件语法分析程序
VSTIFF.DLL – TIFF文件语法分析程序
VSW6.DLL – Word6文件语法分析程序
VSWORD.DLL – Word文件语法分析程序
VSWP5.DLL – WordPerfect5文件语法分析程序
VSXL5.DLL – Excel文件/图表语法分析程序
VTCP.386 – TCP/IP虚拟TCP驱动程序
VTDAPI.VXD – VTDAPI虚拟设备
VTDI.386 – 传输驱动接口支持程序
VXDLDR.VXD – 虚拟设备驱动程序装载器

W ↑
WAVE.INF – 即插即用音波设备信息
WDTOOOEX.MPD – SCSI驱动
WGPOADMN.DLL – Mail/Exchange组件
WHLP16T.DLL – 帮助动态链接库
WIN87EM.DLL – 80387数学仿真库
WINABC.HLP – 智能ABC帮助文件
WINBX.HLP – 表形码输入法帮助文件
WINCHA.HLP – 繁体仓颉输入法帮助文件
WINDOWS.CNT – Windows95帮助文件内容
WINDOWS.HLP – Windows95帮助文件
WINFILE.CNT – 文件管理器帮助文件内容
WINFILE.EXE – Windows工作组文件管理器
WINFILE.HLP – 文件管理器帮助文件
WINGB.HLP – 区位码输入法帮助文件
WINHLP23.HLP – Windows帮助文件
WINIME.HLP – 操作指南帮助文件
WINNM.HLP – GBK内码输入法帮助文件
WININIT.EXE – Windows初始化文件
WINIPCFG.EXE – TCP/IP配置工具
WINNEWS.TXT – Winnews信息
WINPHO.HLP – 繁体注音输入法帮助文件
WINPOPUP.EXE – POPUP工具
WINREG.DLL – 远程注册支持
WINPY.HLP – 全拼输入法帮助文件
WINSOCK.DLL – Windows的套接API
WINSY.HLP – 双拼输入法帮助文件
WINXSP.HLP – GBK双拼输入法帮助文件
WINXZM.HLP – GBK郑码输入法帮助
WINZM.HLP – 郑码输入法帮助文件
WNASPI32.DLL – Windows DLL32位ASPI
WPSUNI.DRV – 传真驱动程序
WPSUNIRE.DLL – WPS主机资源执行程序

X ↑
XCOPY.EXE – DOS XCOPY工具
XCOPY32.EXE – 文件拷贝程序
XGA.DRV – XGA显示驱动程序

http://www.donews.net/cnsjh/archive/2005/01/19/246605.aspx

  Win32服务程序由3部分组成:服务应用程序,服务控制程序和服务控制管理器。其中服务控制管理器维护着注册表中的服务数据,服务控制程序则是控制服务应用程序的模块,是控制服务应用程序同服务管理器之间的桥梁。服务应用程序是服务程序的主体程序,他是一个或者多个服务的可执行代码。我们可以在控制面板–管理工具–服务中找到。可以修改他们的当前状态和启动方式,它的启动方式有三种:”自动”是之当计算机启动或者需要的时候就开启。”手动”是可以在命令提示符中通过”net start”命令打开和”net stop”命令关闭的,”已禁止”是指在改变启动方式前,不在启动。

  在众多服务程序中他们很多是互相依存的,所以我们不能随便的便停止某项服务,否则很可能造成系统的非正常情况出现,但是有的服务对我们来说的确没有什么作用,而且还占据着我们宝贵的系统资源,其实有很多程序是我们用不到的,可以关闭,从而达到节省资源的目的。

  Alert(警报器)
  通知选取的使用者及计算机系统管理警示。如果停止这个服务,使用系统管理警示的程序将不会收到通知。所有依存于它的服务将无法启动。一般家用计算机根本不需要传送或接收计算机系统管理来的警示(Administrative Alerts),除非你的计算机用在局域网络上
  依存:Workstation
  建议:停用

  Application Layer Gateway Service
  提供因特网联机共享和因特网联机防火墙的第三方通讯协议插件的支持如果你不使用因特网联机共享 (ICS) 提供多台计算机的因特网存取和因特网联机防火墙 (ICF) 软件你可以关掉
  依存:Internt Connection Firewall (ICF) / Internet Connection Sharing (ICS)
  建议:停用

  Application Management (应用程序管理)
  从win2000开始引入的一种基于msi文件格式的全新有效软件管理方案–应用程序管理组件服务,不仅可可以管理软件的安装、删除,还可以使用此服务修改、修复现有应用程序,监视文件复原并通过复原排除基本故障等。
  建议:手动

Automatic Updates
  启用重要 Windows 更新的下载及安装。如果停用此服务,可以手动的从 Windows Update 网站上更新操作系统。允许 Windows 于背景自动联机之下,到 Microsoft Servers 自动检查和下载更新修补程序
  建议:停用

  Background Intelligent Transfer Service
  使用闲置的网络频宽来传输数据。 经由 Via HTTP1.1 在背景传输资料的东西,例如 Windows Update 就是以此为工作之一
  依存:Remote Procedure Call (RPC) 和 Workstation
  建议:停用

  ClipBook (剪贴簿)
  启用剪贴簿检视器以储存信息并与远程计算机共享。如果这个服务被停止,剪贴簿检视器将无法与远程计算机共享信息。任何明确依存于它的服务将无法启动。 把剪贴簿内的信息和其它台计算机分享,一般家用计算机根本用不到
  依存:Network DDE
  建议:停用

  COM+ Event System (COM+ 事件系统)
  支持”系统事件通知服务 (SENS)”,它可让事件自动分散到COM 组件。如果服务被停止,SENS 会关闭,并无法提供登入及注销通知,任何明显依存它的服务都无法启动。有些程序可能用到 COM+ 组件,像 BootVis 的 optimize system 应用,如事件检查内显示的 DCOM 没有启用
  依存:Remote Procedure Call (RPC) 和 System Event Notification
  建议:手动

  COM+ System Application
  管理 COM+ 组件的设定及追踪。如果停止此服务,大部分的 COM+ 组件将无法顺利运行。任何明确依存它的服务将无法启动。如事件检查内显示的 DCOM 没有启用
  依存:Remote Procedure Call (RPC)
  建议:手动

  Computer Browser (计算机浏览器)
  维护网络上更新的计算机清单,并将这个清单提供给做为浏览器的计算机。如果停止这个服务,这个清单将不会被更新或维护。如果停用这个服务,所有依存于它的服务将无法启动。 一般家庭用计算机不需要,除非你的计算机应用在局域网之上,不过在大型的局域网上有必要开这个拖慢速度吗?
  依存:Server 和 Workstation
  建议:停用

  Cryptographic Services
  提供三个管理服务: 确认 Windows 文件认证的; 从这个计算机新增及移除受信任根证认证授权凭证的; 以及协助注册这个计算机以取得凭证的 。如果这个服务被停止,这些管理服务将无法正确工作。任何明确依存于它的服务将无法启动。简单的说就是 Windows Hardware Quality Lab (WHQL)微软的一种认证,如果你有使用 Automatic Updates ,那你可能需要这个
  依存:Remote Procedure Call (RPC)
  建议:手动

  DHCP Client (DHCP 客户端)
  透过登录及更新 IP 地址和 DNS 名称来管理网络设定。使用 DSL/Cable 、ICS 和 IPSEC 的人都需要这个来指定动态 IP,如果系统不在任何网络之中,或者网络中没有DHCp服务,那么可以设置为停用。
  依存:AFD 网络支持环境、NetBT、SYMTDI、TCP/IP Protocol Driver 和 NetBios over TCP/IP
  建议:手动

  Distributed Link Tracking Client (分布式连结追踪客户端)
  维护计算机中或网络内不同计算机中 NTFS 档案间的连结。对于绝大多数用户来说,形同虚设,可以关闭,特殊用户除外。
  依存:Remote Procedure Call (RPC)
  建议:停用

  Distributed Transaction Coordinator (分布式交换协调器)
  协调跨越多个资源管理员的信息交换,比如数据库、消息队列及档案系统。如果此服务被停止,这些交易将不会发生。任何明显依存它的服务将无法启动。如上所说的,一般家庭用计算机用不太到,除非你启用的 Message Queuing
  依存:Remote Procedure Call (RPC) 和 Security Accounts Manager
  建议:停用

  DNS Client (DNS 客户端)
  解析并快速取得这台计算机的域名系统 (DNS) 名称。如果停止这个服务,这台计算机将无法解析 DNS 名称并寻找 Active Directory 网域控制站的位置。所有依存于它的服务将无法启动。 如上所说的,另外 IPSEC 需要用到
  依存:TCP/IP Protocol Driver
  建议:手动

  Error Reporting Service
  允许对执行于非标准环境中的服务和应用程序的错误报告。微软的应用程序错误报告服务,对于大多数用户来说也没什么用处,对于盗版用户来说更没什么用处,建议停用。
  依存:Remote Procedure Call (RPC)
  建议:停用

Event Log (事件记录文件)
  启用 Windows 为主的程序和组件所发出的事件讯息可以在事件检视器中检视。这个服务不能被停止。允许事件讯息显示在事件检视器之上。
  依存:Windows Management Instrumentation
  建议:自动

  Fast User Switching Compatibility
  在多使用者环境下提供应用程序管理。另外像是注销画面中的切换使用者功能,一般建议不要停止,否则很多功能无法实现。
  依存:Terminal Services
  建议:手动

  Help and Support
  微软提供的可以支持说明和帮助文件的服务。如果这个服务停止,将无法使用说明及支持中心。它的所有依存服务将无法启动。 如果不使用就关了吧,现实中证明没有多少人需要它,除非有特别需求,否则建议停用。
  依存:Remote Procedure Call (RPC)
  建议:停用

  Human Interface Device Access
  启用对人体工程学接口装置 (HID) 的通用输入存取,HID 装置启动并维护对这个键盘、远程控制、以及其它多媒体装置上事先定义的快捷纽的使用。如果这个服务被停止,这个服务控制的快捷纽将不再起作用,任何明确依存于它的服务将无法启动。如果没有什么HID装置,可以停用
  依存:Remote Procedure Call (RPC)
  建议:手动

  IMAPI CD-Burning COM Service
  使用 Image Mastering Applications Programming Interface (IMAPI) 来管理光盘刻录。如果这个服务被停止,这个计算机将无法刻录光盘。任何明确地依赖它的服务将无法启动。 XP 整合的 CD-R 和 CD-RW 光驱上拖放的烧录功能,可惜比不上烧录软件,关掉还可以加快 Nero 的开启速度,如果不习惯使用第三方软件,请保留。
  建议:停用

  Indexing Service (索引服务)
  本机和远程计算机的索引内容和档案属性; 透过弹性的查询语言提供快速档案存取。 简单的说可以让你加快搜查速度,不过我想应该很少人和远程计算机作搜寻吧,除非特殊工作
  依存:Remote Procedure Call (RPC)
  建议:停用

  Internet Connection Firewall (ICF) / Internet Connection Sharing (ICS)
  为您的家用网络或小型办公室网络提供网络地址转译、寻址及名称解析服务和防止干扰的服务。如果你不使用因特网联机共享(ICS)或是 XP 内含的因特网联机防火墙(ICF)你可以关掉
  依存:Application Layer Gateway Service、Network Connections、Network Location Awareness(NLA)、Remote Access Connection Manager
  建议:停用

  IPSEC Services (IP 安全性服务)
  管理 IP 安全性原则并启动 ISAKMP/Oakley (IKE) 及 IP 安全性驱动程序。协助保护经由网络传送的数据。IPSec 为一重要环节,为虚拟私人网络 (VPN) 中提供安全性,而 VPN 允许组织经由因特网安全地传输数据。在某些网域上也许需要,但是一般使用者大部分是不太需要的
  依存:IPSEC driver、Remote Procedure Call (RPC)、TCP/IP Protocol Driver
  建议:手动

  Logical Disk Manager (逻辑磁盘管理员)
  侦测及监视新硬盘磁盘,以及传送磁盘区信息到逻辑磁盘管理系统管理服务以供设定。如果这个服务被停止,动态磁盘状态和设定信息可能会过时。任何明确依存于它的服务将无法启动。磁盘管理员用来动态管理磁盘,如显示磁盘可用空间等和使用 Microsoft Management Console(MMC)主控台的功能
  依存:Plug and Play、Remote Procedure Call (RPC)、Logical Disk Manager Administrative Service
  建议:自动

  Logical Disk Manager Administrative Service (逻辑磁盘管理员系统管理服务)
  设定硬盘磁盘及磁盘区,服务只执行设定程序然后就停止。使用 Microsoft Management Console(MMC)主控台的功能时才用到
  依存:Plug and Play、Remote Procedure Call (RPC)、Logical Disk Manager
  建议:手动

  Messenger (信使服务)
  在客户端及服务器之间传输网络传送及 “Alerter]”服务短信。这个服务与 Windows Messenger 无关。如果停止这个服务,Alerter 讯息将不会被传输。所有依存于它的服务将无法启动。比如网络之间互相传送提示信息的功能,net send 功能,如不想被骚扰话可关了。
  依存:NetBIOS Interface、Plug and Play、Remote Procedure Call (RPC)、Workstation
  建议:停用
  MS Software Shadow Copy Provider
  管理磁盘区阴影复制服务所取得的以软件为主的磁盘区阴影复制。如果停止这个服务,就无法管理以软件为主的磁盘区阴影复制。任何明确依存于它的服务将无法启动。如上所说的,用来备份的东西,如 MS Backup 程序就需要这个服务,但是大多数人用不到这个功能。
  依存:Remote Procedure Call (RPC)
  建议:停用

Net Logon
  支持网络上计算机的账户登入事件的 pass-through 验证。一般家用计算机不太可能去用到登入网络审查这个服务。
  依存:Workstation
  建议:停用

  NetMeeting Remote Desktop Sharing (NetMeeting 远程桌面共享)
  让经过授权的使用者可以使用 NetMeeting 透过公司近端内部网络,由远程访问这部计算机。如果这项服务停止的话,远程桌面共享功能将无法使用。任何依赖它的服务将无法启动。 如上说的,让使用者可以将计算机的控制权分享予网络上或因特网上的其它使用者,如果你重视安全性不想多开后门,就关了吧。
  建议:停用

  Network Connections (网络连接)
  管理在网络和拨号连接数据夹中的对象,您可以在此数据夹中检视局域网络和远程连接。控制你的网络连接
  依存:Remote Procedure Call (RPC)、Internet Connection Firewall (ICF) / Internet Connection Sharing (ICS)
  建议:手动

  Network DDE (网络 DDE)
  为动态数据交换 (DDE) 对在相同或不同计算机上执行的程序提供网络传输和安全性。如果这个服务被停止,DDE 传输和安全性将无法使用。任何明确依存于它的服务将无法启动。 一般人好像用不到
  依存:Network DDE DSDM、ClipBook
  建议:停用

  Network DDE DSDM (网络 DDE DSDM)
  信息动态数据交换 (DDE) 网络共享。如果这个服务被停止,DDE 网络共享将无法使用。任何明确依存于它的服务将无法启动。 一般人好像用不到
  依存:Network DDE
  建议:停用

  Network Location Awareness (NLA)
  收集并存放网络设定和位置信息,并且在这个信息变更时通知应用程序。 如果不使用 ICF 和 ICS 可以关了它
  依存:AFD网络支持环境、TCP/IP Procotol Driver、Internet Connection Firewall (ICF) / Internet Connection Sharing (ICS)
  建议:停用

  NT LM Security Support Provider (NTLM 安全性支持提供者)
  为没有使用命名管道传输的远程过程调用 (RPC) 程序提供安全性。如果不使用 Message Queuing 或是 Telnet Server 那就关了它,一般用户也用不上。
  依存:Telnet
  建议:停用

  Performance Logs and Alerts (性能记录文件及警示)
  基于事先设定的参数,从本机或远程计算机收集性能数据,然后将数据写入记录中。如果这个服务被停止,将不会收集性能信息。任何明确依存于它的服务将无法启动。 没什么价值的服务。
  建议:停用

  Plug and Play (即插即用)
  启用计算机以使用者没有或很少的输入来识别及适应硬件变更,停止或停用这个服务将导致系统不稳定。 顾名思义就是 PNP 环境,一般计算机中都需要PNP环境的支持,所以不要关闭。
  依存:Logical Disk Manager、Logical Disk Manager Administrative Service、Messenger、Smart Card、Telephony、Windows Audio
  建议:自动

  Portable Media Serial Number
  Retrieves the serial number of any portable music player connected to your computer透过联网计算机重新取得音乐拨放序号,这个东西没什么价值,别考虑关掉吧!
  建议:停用

  Print Spooler (打印多任务缓冲处理器)
  将档案加载内存中以待稍后打印。可以优化打印,对于打印功能有一定的帮助,如果没有打印机,可以关了。
  依存:Remote Procedure Call (RPC)
  建议:停用

  Protected Storage (受保护的存放装置)
  提供受保护的存放区,来储存重要数据,防止未授权的服务、处理、或使用者进行存取。 用来储存你计算机上密码的服务,像 Outlook、拨号程序、其它应用程序等等
  依存:Remote Procedure Call (RPC)
  建议:自动

  QoS RSVP (QoS 许可控制,RSVP)
  提供网络讯号及区域流量控制安装功能给可识别 QoS 的程序和控制小程序项。用来保留 20% 带宽的服务,如果你的网卡不支持 802.1p 或在你计算机的网络上没有 ACS server ,那么不用多说,关了它。
  依存:AFD网络支持环境、TCP/IP Procotol Driver、Remote Procedure Call (RPC)
  建议:停用

Remote Access Auto Connection Manager (远程访问自动联机管理员)
  当程序参照到远程 DNS 或 NetBIOS 名称或地址时,建立远程网络的联接。有些 DSL/Cable 供应商,可能需要用此来处理登入程序
  依存:Remote Access Connection Manager、Telephony
  建议:手动

  Remote Access Connection Manager (远程访问联接管理员)
  建立网络联接,顾名思义,在网络连接中占有很重要的意义,当然如果不使用网络,可以关闭。
  依存:Telephony、Internet Connection Firewall (ICF) / Internet Connection Sharing (ICS)、Remote Access Auto Connection Manager
  建议:手动

  Remote Desktop Help Session Manager
  管理并控制远程协助。如果此服务停止的话,远程协助将无法使用。停止此服务之前,请先参阅内容对话框中的 “依存性”标签。 如上说的管理和控制远程协助,对于普通用户来说,这个根本就用不着,可以关闭
  依存:Remote Procedure Call (RPC)
  建议:停用

  Remote Procedure Call (RPC) (远程过程调用,RPC)
  提供结束点对应程序以及其它 RPC 服务。 很多程序设备都需要用到该服务,很复杂的依存性,所以除非高级用户,否则别关闭。
  依存:太多了,本人限于篇幅不能一一枚举。
  建议:自动

  Remote Procedure Call (RPC) Locator (远程过程调用定位程序)
  管理 RPC 名称服务数据库。在一般计算机上很少用到,没什么特殊要求,可以尝试关了
  依存:Workstation
  建议:停用

  Remote Registry (远程登录服务)
  启用远程服务来对远程计算机进行操作。如果这个服务被停止,登录只能由这个计算机上的使用者修改。任何明确依存于它的服务将无法启动。 基于安全性的理由,如果没有特别的需求,建议最好关了它,除非你需要远程协助修改你的登录设定。
  依存:Remote Procedure Call (RPC)
  建议:停用

  Removable Storage (卸除式存放装置)
  除非你有 Zip 磁盘驱动器或是 USB 之类移动式的硬件或是 Tape 备份装置,不然可以尝试关了,现在的这方面的设备很多,建议保留
  依存:Remote Procedure Call (RPC)
  建议:自动

  Routing and Remote Access (路由和远程访问)
  提供连到局域网及广域网的公司的路由服务。提供拨号联机到网络或是 VPN 服务,一般用户用不到,可以关闭
  依存:Remote Procedure Call (RPC)、NetBIOSGroup
  建议:停用

  Secondary Logon
  启用在其它认证下的起始程序。如果这个服务被停止,这类的登入存取将无法使用。任何明确依存于它的服务将无法启动。允许多个用户处理程序,执行分身等
  建议:自动

  Security Accounts Manager (安全性账户管理员)
  储存本机账户的安全性信息。管理账号和群组原则(gpedit.msc)应用,虽然很多人不太了解它,但是作用不小。
  依存:Remote Procedure Call (RPC)、Distributed Transaction Coordinator
  建议:自动

  Server (服务器)
  透过网络为这台计算机提供档案、打印、及命名管道的共享。如果停止这个服务,将无法使用这些功能。所有依存于它的服务将无法启动。简单的说就是档案和打印的共享,除非你有和其它计算机共享,不然就关了
  依存:Computer Browser
  建议:停用

  Shell Hardware Detection
  为自动播放硬件事件提供通知。一般使用在移动存储或是CD装置、DVD装置上,这是个比较烦的东西,可以尝试关闭。
  依存:Remote Procedure Call (RPC)
  建议:停用

Smart Card
  管理这个计算机所读取智能卡的存取。如果这个服务被停止,这个计算机将无法读取智能卡。任何明确依存于它的服务将无法启动。 如果你不使用 Smart Card ,那就可以关了
  依存:Plug and Play
  建议:停用

  Smart Card Helper (智能卡协助程序)
  启用对计算机使用的旧版非即插即用智能卡读取的支持。如果这个服务被停止,这个计算机将不支持旧版smart card。任何明确依存于它的服务将无法启动。 如果你不使用 Smart Card ,那就可以关了
  建议:停用

  SSDP Discovery Service
  在您的家用网络上启用通用即插即用设备的搜索。通用即插即用服务 (Universal Plug and Play, UPnP) 让计算机可以找到并使用网络上的装置,经由网络连接通过 TCP/IP 来搜索装置,像网络上的扫瞄器、数字相机或是打印机,都是使用 UPnP 的功能,基于安全性没用到的大可关了。不过现在数码设备很流行,需要的用户可以保留
  依存:Universal Plug and Play Device Host
  建议:停用

  System Event Notification (系统事件通知)
  追踪诸如 Windows 登入、网络、和电源事件的系统事件。通知这些事件的 COM+ 事件系统订阅者。对于服务器尤其重要。
  依存:COM+ Event System
  建议:自动

  System Restore Service
  执行系统还原功能。若要停止服务,从我的电脑–属性–系统还原 中关闭系统还原因人而定,本人觉得比较浪费资源,可以关掉。
  依存:Remote Procedure Call (RPC)
  建议:停用

  Task Scheduler
  让用户能够在这个计算机上设定自动的工作的计划,并执行。如果停止这个服务,这些工作在它们设定的时间时将不会执行。任何明确依存于它的服务将无法启动。设定自动的工作计划,像一些定时磁盘扫瞄、病毒定时扫瞄、更新等等,但是一般都很少用,可以关闭
  依存:Remote Procedure Call (RPC)
  建议:手动

  TCP/IP NetBIOS Helper (TCP/IP NetBIOS 协助程序)
  启用NetBIOS over TCP/IP (NetBT)]服务及NetBIOS名称解析的支持。如果你的网络不使用 NetBios或是WINS,你大可关闭,对于不太了解网络情况的用户建议保留,否则可能导致你的网络出现问题。
  依存:AFD 网络支持环境、NetBt
  建议:停用

  Telephony (电话语音)
  为本机及经由局域网络连接到正在执行此服务的服务器,控制电话语音装置和 IP 语音连接的服务,提供电话语音 API (TAPI) 支持。一般的拨号调制解调器或是一些 DSL/Cable 可能用到
  依存:Plug and Play、Remote Procedure Call (RPC)、Remote Access Connection Manager、Remote Access Auto Connection Manager
  建议:手动

  Telnet
  启用一个远程使用者来登入到这台计算机和执行应用程序,以及支持各种 TCP/IP Telnet 客户端,包含以UNIX为基本和以 Windows 为基本的计算机。如果服务停止了,远程使用者可能无法存取应用程序。任何明确地依存于这项服务的其它服务将会启动失败。允许远程用户用 Telnet 登入本计算机,一般人会误解关了就无法使用BBS,这其实和BBS无关,基于安全性的理由,如果没有特别的需求,建议最好关了
  依存:NT LM Security Support Provider、Remote Procedure Call (RPC)、TCP/IP Protocol Driver
  建议:停用

  Terminal Services (终端服务)
  允许多位使用者连接到同一部计算机、桌面及到远程计算机的应用程序。远程桌面的加强 (包含系统管理员的 RD)、快速切换使用者、远程协助和终端机服务器。远程桌面或是远程协助的功能,不需要就关了,目前该服务也导致了很多网络服务器的安全性问题。
  依存:Remote Procedure Call (RPC)、Fast User Switching Compatibility、InteractiveLogon
  建议:停用

  Themes
  提供使用者主题管理。 很多人使用布景主题,打造个性化的系统,不过如果没有使用的人,那就可以关闭。
  建议:自动

  Uninterruptible Power Supply (不断电供电系统)
  管理连接到这台计算机的不间断电源供应 (UPS)。不间断电源供应 (UPS)一般人有用到吗?除非你的电源供应器有具备此功能,不然就关了
  建议:停用

  Universal Plug and Play Device Host
  提供主机通用即插即用装置的支持。用来侦测安装通用即插即用服务 (Universal Plug and Play, UPnP)装置,像是数字相机或打印机,现在很多设备都需要这个。
  依存:SSDP Discovery Service
  建议:自动

Volume Shadow Copy
  管理及执行用于备份和其它目的的磁盘镜像复制。如果这个服务被停止,镜像复制将无法用于备份,备份可能会失败。任何明确依存于它的服务将无法启动。如上所说的,用来备份的东西,如 MS Backup 程序就需要这个服务
  依存:Remote Procedure Call (RPC)
  建议:停用

  WebClient
  启用 Windows 为主的程序来建立、存取,以及修改因特网为主的文件。如果停止这个服务,这些功能将无法使用。任何明确依存于它的服务将无法启动。使用 WebDAV 将档案或文件上载到所有的 Web 服务,基于安全性的理由,你可以尝试关闭
  依存:WebDav Client Redirector
  建议:停用

  Windows Audio
  管理用于 Windows 为主程序的音讯装置。如果这个服务被停止,音讯装置和效果将无法正常运作。任何明确依存于它的服务将无法启动。如果你没有声卡可以关了他,但是现在的个人电脑不会没有声卡吧?
  依存:Plug and Play、Remote Procedure Call (RPC)
  建议:自动

  Windows Image Acquisition (WIA) (Windows影像取得程序)
  为扫描仪和数码相机提供影像采集服务。如果扫描仪和数字相机内部具有支持WIA功能的话,那就可以直接看到图档,不需要其它的驱动程序,所以没有扫描仪和数字相机的使用者大可关了
  依存:Remote Procedure Call (RPC)
  建议:停用

  Windows Installer (Windows 安装程序)
  根据包含在 .MSI 档案内的指示来安装,修复以及移除软件。是一个系统服务,协助使用者正确地安装、设定、追踪、升级和移除软件程序,可管理应用程序建立和安装的标准格式,并且追踪例如档案群组、登录项目及快捷方式等组件,很多软件的安装都需要用到这个服务,所以建议保留,否则会遇到很多麻烦的。
  依存:Remote Procedure Call (RPC)
  建议:自动

  Windows Management Instrumentation (WMI)
  提供公用接口及对象模型,以存取有关操作系统、设备、应用程序及服务的管理信息。如果这个服务已停止,大多数的 Windows 软件将无法正常运作。所有依存于它的服务都将无法启动。 如上说的,是一种提供一个标准的基础结构来监视和管理系统资源的服务,由不得你动他
  依存:Event Log、Remote Procedure Call (RPC)
  建议:自动

  Windows Management Instrumentation Driver Extensions (Windows Management Instrumentation 驱动程序延伸) 提供系统管理信息管理驱动程序。Windows Management Instrumentation 的延伸,提供信息用的,可以设置为手动
  建议:手动

  Windows Time (Windows 时间设定)
  维护在网络上所有客户端及服务器的数据及时间同步处理。如果这个服务停止,将无法进行日期及时间同步处理。所有依存的服务都会停止。 网络对时校准没有太大的意义,而且占有不少的资源,可以关闭
  建议:停用

  Wireless Zero Configuration
  为 802.11 适配卡提供自动设定 自动配置无线网络装置,言下之意就是说,除非你有在使用无线网络装置,那么你才有必要使用这个网络零管理服务,否则这个对你一点作用也没有。
  依存:NDIS Usermode I/O Protocol、Remote Procedure Call (RPC)
  建议:停用

  WMI Performance Adapter
  提供来自 WMIHiPerf 提供者的效能链接库信息。对大多数用户没有太大作用
  依存:Remote Procedure Call (RPC)
  建议:停用

  Workstation (工作站)
  建立并维护到远程服务器的客户端网络联机。如果停止这个服务,这些联机将无法使用。所有依存于它的服务将无法启动。是网络连接中所必要的一些功能
  依存:Alerter、Background Intelligent Transfer Service、Computer Browser、Messenger、Net Logon、Remote Procedure Call (RPC) Locator
  建议:自动

  Windows中很多服务都是用不上的,大家可以根据自己的需求,自己去决定保留哪些,关闭哪些,相信经过你的修改,系统资源会大大增加。