”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何将自定义可执行文件与C#中的文件扩展相关联?

如何将自定义可执行文件与C#中的文件扩展相关联?

发布于2025-02-18
浏览:529

How to Associate Custom Executables with File Extensions in C#?

在C#中将自定义可执行文件与文件类型关联

在C#中将特定的文件扩展名与自定义可执行文件关联,使用户能够在文件资源管理器中点击该文件时,以关联文件作为参数启动可执行文件。此外,还可以为文件扩展名指定所需的图标。

解决方案

虽然.NET没有提供直接管理文件关联的API,但您可以利用注册表类来操作必要的键值。

  1. 创建注册表项: 在HKEY_CLASSES_ROOT下创建一个以文件扩展名作为名称的注册表项(例如,".txt")。将其默认值设置为文件类型的唯一名称(例如,“Acme.TextFile”)。
  2. 创建另一个注册表项: 在HKEY_CLASSES_ROOT下创建一个名称为步骤1中唯一文件类型名称的注册表项(例如,“Acme.TextFile”)。
  3. 添加子项: 名为“DefaultIcon”,其默认值为所需图标文件的路径。
  4. 添加同级项: 名为“shell”,用于保存上下文菜单操作。对于每个操作,创建一个子项,其默认值设置为可执行文件的路径,后跟空格和"%1"(文件路径占位符)。

将.txt与EmEditor关联的注册表文件示例:

[HKEY_CLASSES_ROOT\.txt]
@="emeditor.txt"

[HKEY_CLASSES_ROOT\emeditor.txt]
@="Text Document"

[HKEY_CLASSES_ROOT\emeditor.txt\DefaultIcon]
@="%SystemRoot%\\SysWow64\\imageres.dll,-102"

[HKEY_CLASSES_ROOT\emeditor.txt\shell]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\open]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\open\command]
@="\"C:\\Program Files\\EmEditor\\EMEDITOR.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\emeditor.txt\shell\print]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\print\command]
@="\"C:\\Program Files\\EmEditor\\EMEDITOR.EXE\" /p \"%1\""
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3