文件关联的工作原理

文件关联定义 Shell 如何处理系统上的 文件类型

本主题的组织方式如下:

关于文件关联

文件关联控制以下功能:

  • 当用户双击文件时,哪个应用程序将启动。
  • 默认情况下,文件将显示哪个图标。
  • 在 Windows 资源管理器中查看时,文件类型的显示方式。
  • 哪些命令显示在文件的快捷菜单中。
  • 其他 UI 功能,例如工具提示、磁贴信息和详细信息窗格。

应用程序开发人员可以使用文件关联来控制 Shell 如何处理自定义文件类型,或将应用程序与现有文件类型相关联。 例如,安装应用程序时,应用程序可以检查是否存在现有文件关联,并创建或重写这些文件关联。

用户可以控制文件关联的某些方面,以通过使用 Open With UI 或编辑注册表来自定义 Shell 处理文件类型的方式。

在以下屏幕截图中显示的 Windows 资源管理器窗口中,Shell 根据与文件类型关联的图标为每个文件显示不同的图标。 如果用户双击文件 示例位图图像,Shell 会启动 Paint 并使用它打开该文件,因为在此系统上,Paint 与.bmp文件相关联。 人员可以使用文件关联控制这些操作。

文件关联在实践中的工作原理的插图

何时应实现或修改文件关联

应用程序可以将文件用于各种目的:某些文件由应用程序独占使用,用户通常不会访问,而其他文件则由用户创建,并且经常从 Shell 打开、搜索和查看。

除非自定义文件类型由应用程序独占使用,否则应为其实现文件关联。 一般规则是,如果希望用户以任何方式直接与这些文件交互,请为自定义文件类型实现文件关联。 这包括使用 Shell 浏览和打开文件、搜索文件的内容或属性以及预览文件。

如果应用程序正在处理现有文件类型,请不要修改文件关联,除非你想要修改 Shell 处理此类型所有文件的方式。

文件关联的工作原理

文件在 Shell 中作为 Shell 项公开。 为了控制文件关联,应用程序开发人员可以在文件类型和处理程序之间注册映射, (COM 对象为文件类型的 Shell 项) 提供功能。 当 Shell 需要查询某个文件类型的文件关联时,它会创建包含文件类型关联的注册表项数组,并检查这些键以查找要使用的相应文件关联。

其他资源

应用程序注册

文件类型

按文件类型或类型显示的内容视图

文件类型验证程序

文件类型处理程序

编程标识符

感知类型

关联数组