首页 > 后端开发 > C++ > 正文

如何使用注册表项将文件扩展名与我的 C 应用程序关联起来?

DDD
发布: 2024-11-27 13:52:11
原创
428 人浏览过

How can I associate a file extension with my C   application using registry entries?

将文件扩展名与 C 中的应用程序关联:详细指南

双击与 C 应用程序关联的文件并调用将文件名作为参数传递的应用程序,创建注册表项是至关重要。

注册表项创建

正如 MSDN 文章中所述,涉及两个关键步骤:

  • 注册ProgID: ProgID(文件类型注册表项)保存文件类型属性,包括图标、描述和上下文菜单选项。
  • 注册文件扩展名:此步骤将文件扩展名分配给 ProgID,从而在扩展名和文件类型之间创建关联。

演示这些步骤的示例 .reg 文件如下:

[HKEY_CURRENT_USER\Software\Classes\blergcorp.blergapp.v1\shell\open\command]
@="c:\path\to\app.exe \""%1"\""
[HKEY_CURRENT_USER\Software\Classes\.blerg]
@="blergcorp.blergapp.v1"
登录后复制

编程实现在 C

使用 C 中的 SetValue 函数,您可以通过编程方式创建注册表项:

Registry::SetValue(@"HKEY_CURRENT_USER\Software\Classes\blergcorp.blergapp.v1\shell\open\command", null, @"c:\path\to\app.exe \"%1\"\""), 
Registry::SetValue(@"HKEY_CURRENT_USER\Software\Classes\.blerg", null, "blergcorp.blergapp.v1");
登录后复制

Hive Selection

而示例通常建议在 HKEY_CLASSES_ROOT 中设置这些键,建议使用HKEY_CURRENT_USER 设置每用户关联。这可确保一个用户所做的更改不会影响其他用户。

清理

应用程序删除后,为文件关联创建的注册表项将保留,除非明确删除。考虑实施注册表清理机制以在卸载期间删除这些条目。

其他资源

有关更多详细信息,请参阅以下内容:

  • [文件最佳实践关联](https://docs.microsoft.com/en-us/windows/win32/fileassoc/best-practices-for-file-association)
  • [文件类型和文件关联](https:// /docs.microsoft.com/en-us/windows/win32/fileassoc/file-types-and-file-association)
  • [文件关联方式工作](https://docs.microsoft.com/en-us/windows/win32/fileassoc/how-file-associations-work)

以上是如何使用注册表项将文件扩展名与我的 C 应用程序关联起来?的详细内容。更多信息请关注PHP中文网其他相关文章!

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