注册文件扩展名的谓词

将文件扩展名与应用程序关联时,通常会有一个在用户双击文件时将发生的首选操作。 此首选操作会与该操作对应的谓词(例如打开)关联。

可以使用位于 HKEY_CLASSES_ROOT\{ProgID}\shell 的 Shell 键来注册与该扩展的编程标识符 (ProgID) 关联的谓词。 请参阅文件类型

注册标准谓词

操作系统可以识别以下标准谓词:

  • 打开

  • 编辑

  • 播放

  • 打印

  • 预览

    应尽可能注册标准谓词。 最常选择的谓词是“打开”。 仅当打开文件与编辑文件之间存在明显的差异时,才使用“编辑”谓词。 例如,打开 .htm 文件会在浏览器中显示该文件,而编辑 .htm 文件将启动 HTML 编辑器。 标准谓词使用操作系统的区域设置来进行本地化。

注意

注册标准谓词时,请勿设置“打开”键的默认值。 该默认值包含了菜单上的显示字符串。 操作系统将为标准谓词提供此字符串。

当用户打开文件时,应会注册项目文件以启动新的 Visual Studio 新实例。 以下示例演示了 Visual C# 项目的标准谓词注册过程。

[HKEY_CLASSES_ROOT\.csproj]
@="VisualStudio.csproj.8.0"

[HKEY_CLASSES_ROOT\.csproj\OpenWithList]
[HKEY_CLASSES_ROOT\.csproj\OpenWithList\VSLauncher.exe]
@=""

[HKEY_CLASSES_ROOT\.csproj\OpenWithProgids]
"VisualStudio.csproj.8.0"=""

[HKEY_CLASSES_ROOT\Applications\VSLauncher.exe]
[HKEY_CLASSES_ROOT\Applications\VSLauncher.exe\Shell]
[HKEY_CLASSES_ROOT\Applications\VSLauncher.exe\Shell\Open]
[HKEY_CLASSES_ROOT\Applications\VSLauncher.exe\Shell\Open\Command]
@="C:\\Program Files\\Common Files\\Microsoft Shared\\MSEnv\\VSLauncher.exe \"%1\""

[HKEY_CLASSES_ROOT\VisualStudio.csproj.8.0]
@="C# Project file"

[HKEY_CLASSES_ROOT\VisualStudio.csproj.8.0\DefaultIcon]
@="C:\\VisualStudioPath\\VC#\\VCSPackages\\csproj.dll,0"

[HKEY_CLASSES_ROOT\VisualStudio.csproj.8.0\shell]
[HKEY_CLASSES_ROOT\VisualStudio.csproj.8.0\shell\Open]
[HKEY_CLASSES_ROOT\VisualStudio.csproj.8.0\shell\Open\Command]
@="\"C:\\Program Files\\Common Files\\Microsoft Shared\\MSEnv\\VSLauncher.exe\" \"%1\""

要在现有 Visual Studio 实例中打开文件,请注册 DDEEXEC 键。 以下示例演示了 Visual C# .cs 文件的标准谓词注册过程。

[HKEY_CLASSES_ROOT\.cs]
@="VisualStudio.cs.8.0"

[HKEY_CLASSES_ROOT\.cs\OpenWithList]
[HKEY_CLASSES_ROOT\.cs\OpenWithList\devenv.exe]
@=""

[HKEY_CLASSES_ROOT\.cs\OpenWithProgids]
"VisualStudio.cs.8.0"=""

[HKEY_CLASSES_ROOT\VisualStudio.cs.8.0]
@="C# Source file"

[HKEY_CLASSES_ROOT\VisualStudio.cs.8.0\DefaultIcon]
@="C:\\VisualStudioPath\\VC#\\VCSPackages\\csproj.dll,1"

[HKEY_CLASSES_ROOT\VisualStudio.cs.8.0\shell]
[HKEY_CLASSES_ROOT\VisualStudio.cs.8.0\shell\Open]
[HKEY_CLASSES_ROOT\VisualStudio.cs.8.0\shell\Open\Command]
@="\"C:\\VisualStudioPath\\Common7\\IDE\\devenv.exe\" /dde \"%1\""

[HKEY_CLASSES_ROOT\VisualStudio.cs.8.0\shell\Open\ddeexec]
@="Open(\"%1\")"

[HKEY_CLASSES_ROOT\VisualStudio.cs.8.0\shell\Open\ddeexec\Application]
@="VisualStudio.8.0"

[HKEY_CLASSES_ROOT\VisualStudio.cs.8.0\shell\Open\ddeexec\Topic]
@="system"

设置默认谓词

默认谓词是用户在 Windows 资源管理器中双击某个文件时将会执行的操作。 默认谓词是指定为 HKEY_CLASSES_ROOT\{ProgId}\Shell 键的默认值的谓词。 如果未指定任何值,则默认谓词是在 HKEY_CLASSES_ROOT\{ProgId}\Shell 键列表中指定的第一个谓词。

注意

如果计划更改并排部署中的某个扩展的默认谓词,应考虑对安装和移除操作的影响。 在安装期间,原始默认值将被覆写。