Win右键打开方式启动

在win程序中,某种类型的文件可以有多种打开方式,如媒体文件支持多种播放器打开

 右键打开方式的实现是通过写注册表实现的

下面以VLC程序为例

1、注册后缀类型

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\VLC.3g2

 可以看到VLC支持很多文件类型,该项的名字可以自己定

以3g2格式为例,展开注册表

DefaultIcon:显示的图标,key为默认值,值为程序路径,注意后面有,0,0表示使用程序的图标

 Command:启动的命令,key为默认值,值为启动程序加参数,其中%1为开发的文件路径

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\VLC.3g2\shell\Open\command

2、在 默认程序中 注册 VLC 程序

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Media\VLC\Capabilities

 Capabilities项支持以下值

类型含义
ApplicationDescriptionREG_SZ或REG_EXPAND_SZ“必需”。 若要使用户能够做出明智的默认分配选择,应用程序必须提供描述应用程序功能的字符串。 尽管前面的 Contoso 示例直接将说明分配给 ApplicationDescription 值,但应用程序通常提供描述作为嵌入在.dll文件中的资源,以方便本地化。 如果未提供 ApplicationDescription,则应用程序不会显示在潜在的默认程序的 UI 列表中。
ApplicationNameREG_SZ或REG_EXPAND_SZ可选。 程序显示在默认程序 UI 中的名称。 如果应用程序未提供此数据,则 UI 中使用与应用程序第一个注册的 ProgID 关联的可执行程序的名称。 ApplicationName 必须始终匹配 在 RegisteredApplications 下注册的名称。 如果希望不同的应用程序类型(例如浏览器和电子邮件客户端)指向同一可执行文件,而应用程序类型显示为不同的名称,则可以使用 ApplicationName。
HiddenREG_DWORD可选。 将此值设置为 1,以从 “设置默认程序 ”对话框中的程序列表中取消应用程序。 如果此值为 0 或不存在,则应用程序通常显示在列表中。
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Media\VLC\Capabilities\FileAssociations

 FileAssociations包含支持的后缀,键为后缀,值为上一步自定义的后缀类型

3、注册 VLC 默认程序 注册的位置

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications

 key为VLC,值为上一步注册表的路径

完成以上的三步的注册表就能实现右键打开方式的程序启动,除此之外还实现了默认程序的选择,这几步操作只是增加打开方式和默认应用的选项,不会强制更改程序的默认启动方式

以上所有的注册表信息都是在HKEY_LOCAL_MACHINE,该位置写注册表需要管理员权限,使用程序写的时候要注意这一点,一般可以通过安装程序进行写,安装程序正常都是有权限的

4、名称 

需要另外注意的是,打开方式显示的程序名称,以VLC为例,它的名称为VLC media player,这个名称是从程序信息中读取的,即查看文件属性的信息,如果程序信息没有,则使用的是程序的文件名称

参考:默认程序 - Win32 apps | Microsoft Learn

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值