首页 > 后端开发 > C++ > 如何在 C# 中将自定义可执行文件与文件扩展名相关联?

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

Mary-Kate Olsen
发布: 2025-01-20 16:24:12
原创
922 人浏览过

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关联的注册表文件示例:

<code>[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\""</code>
登录后复制

以上是如何在 C# 中将自定义可执行文件与文件扩展名相关联?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板