我已将应用程序创建为exe。在Windows 10上,如果您打开设置应用->应用->默认应用,则可以选择应用作为照片,视频等的默认应用。我想为我的exe启用它。可以通过Windows注册表完成此操作吗?另外,我的应用程序可以打开非常规图像文件,例如webp和apng。我如何也从注册表中启用它。我将NSIS用于安装程序。非常感谢
遵循Registering an Application for Use with Default Programs的文档:
!define MyAppUniqueName "MyCompany.MyApp"
!define MyCapabilitiesKey "Software\MyCompany\MyApp\Capabilities"
!define MyProgId "MyCompany.MyApp.File"
Section
WriteRegStr ShCtx "Software\Classes\${MyProgId}\shell\open\command" "" '"$InstDir\myapp.exe" "%1"'
WriteRegStr ShCtx "${MyCapabilitiesKey}" "ApplicationName" "Blah"
WriteRegStr ShCtx "${MyCapabilitiesKey}" "ApplicationDescription" "Blah blah blah"
WriteRegStr ShCtx "${MyCapabilitiesKey}\FileAssociations" ".webp" "${MyProgId}
WriteRegStr ShCtx "${MyCapabilitiesKey}\FileAssociations" ".apng" "${MyProgId}"
WriteRegStr ShCtx "Software\RegisteredApplications" "${MyAppUniqueName}" "${MyCapabilitiesKey}"
SectionEnd
Section Uninstall
DeleteRegKey ShCtx "Software\Classes\${MyProgId}"
DeleteRegValue ShCtx "Software\RegisteredApplications" "${MyAppUniqueName}"
DeleteRegKey ShCtx "${MyCapabilitiesKey}"
SectionEnd