如何使用NSIS将程序添加到“打开方式”菜单中

印第安纳·克尼克

我有一个可以打开两种类型文件的程序:.animera.png我希望该程序是的默认设置,.animera而不是的默认设置.png我有这个用于处理.animera文件:

WriteRegStr HKCR '.animera' '' 'AnimeraSprite'
WriteRegStr HKCR 'AnimeraSprite' '' 'Animera Sprite'
WriteRegStr HKCR 'AnimeraSprite\shell' '' 'open'
WriteRegStr HKCR 'AnimeraSprite\shell\open\command' '' '"$INSTDIR\bin\Animera.exe" open "%1"'
WriteRegStr HKCR 'AnimeraSprite\shell\edit\command' '' '"$INSTDIR\bin\Animera.exe" open "%1"'
WriteRegStr HKCR 'AnimeraSprite\DefaultIcon' '' '$INSTDIR\bin\Animera.exe,1'

似乎有十二种方法可以执行此操作,但是上面的代码片段效果很好。悬停显示文件类型为“ Animera Sprite”,显示图标,然后双击打开程序。.png除了不希望该程序成为默认png查看器之外,我尝试了类似的操作。我只希望用户可以选择使用该程序。这是我尝试过的:

WriteRegStr HKCR '.png\OpenWithProgids' 'AnimeraPNG' ''
WriteRegStr HKCR 'AnimeraPNG\shell' '' 'open'
WriteRegStr HKCR 'AnimeraPNG\shell\open\command' '' '"$INSTDIR\bin\Animera.exe" open "%1"'

右键单击png文件,然后将鼠标悬停在“打开方式”上,不会在列表中显示该程序。那我该怎么做呢?

不同

看来您已正确完成所有操作,但在某些时候(Windows 8?),Windows开始要求更多信息才能显示应用程序,并且MSDN从未更新。

您至少需要在版本信息或未记录的注册表项中提供公司名称,也许还提供应用程序名称:

RequestExecutionLevel User
Name "Test"
OutFile "AnimeraPNG.exe"


!include "LogicLib.nsh"
!include "FileFunc.nsh"
Function .onInit
${GetParameters} $0
${If} $0 != ""
    MessageBox mb_ok "File:$0"
    Quit
${EndIf}
FunctionEnd

Section
WriteRegStr HKCU 'Software\Classes\.png\OpenWithProgids' 'AnimeraPNG' ''  ; WinXP+
WriteRegStr HKCU 'Software\Classes\AnimeraPNG\shell' '' 'open'
WriteRegStr HKCU 'Software\Classes\AnimeraPNG\shell\open\command' '' '"$exepath" "%1"'
SectionEnd


!if 1
VIProductVersion 1.2.3.4
VIAddVersionKey /LANG=0 "CompanyName" "AnimeraPNG fake company"
VIAddVersionKey /LANG=0 "ProductName" "AnimeraPNG product"
VIAddVersionKey /LANG=0 "FileDescription" "AnimeraPNG Application"
!else
Section
WriteRegStr HKCU 'Software\Classes\AnimeraPNG\Application' 'ApplicationName' 'AnimeraPNG'
WriteRegStr HKCU 'Software\Classes\AnimeraPNG\Application' 'ApplicationCompany' 'AnimeraPNG fake company'
;WriteRegStr HKCU 'Software\Classes\AnimeraPNG\Application' 'ApplicationIcon' '$exepath'
;WriteRegStr HKCU 'Software\Classes\AnimeraPNG\Application' 'ApplicationDescription' '...'
;WriteRegStr HKCU 'Software\Classes\AnimeraPNG\Application' 'AppUserModelId' '...'
SectionEnd
!endif

或者只是将其添加为额外的动词

WriteRegStr HKCU 'Software\Classes\SystemFileAssociations\.png\shell\AnimeraPNG\command' '' '"$exepath" "%1"' ; WinXP+

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将应用程序添加到“打开方式”列表中

来自分类Dev

将项目添加到Windows 8中的“打开方式”列表中

来自分类Dev

在Ubuntu中将复杂的启动器添加到“打开方式”列表中

来自分类Dev

如何使我的应用程序通过Java在Windows的“打开方式”菜单中显示

来自分类Dev

如何从Windows 8的“打开方式”菜单中删除程序?

来自分类Dev

如何在照片图像的“打开方式或共享方式”中添加应用程序?

来自分类Dev

如何在iOS 8共享扩展程序中添加“打开方式”按钮?

来自分类Dev

如何在Xubuntu 13.04的程序“打开方式”列表中添加自定义程序?如何将文件与打开程序的程序关联?

来自分类Dev

如何在Xubuntu 13.04的程序“打开方式”列表中添加自定义程序?如何将文件与打开程序的程序关联?

来自分类Dev

如何在上下文菜单中强制“打开方式”直接跳至浏览程序文件

来自分类Dev

程序未显示在“打开方式”菜单的“其他程序”中

来自分类Dev

应用程序未显示在“打开方式”菜单中,显示受支持的文档类型

来自分类Dev

重命名“打开方式”菜单中的“应用程序”选项

来自分类Dev

应用程序未显示在云端硬盘用户界面的“打开方式”菜单中

来自分类Dev

如何在已经运行的Electron应用程序中通过“打开方式”打开文件?

来自分类Dev

注册要在“打开方式”列表中显示的程序

来自分类Dev

使用环境变量指向“打开方式”程序

来自分类Dev

如何控制在iOS的“打开方式”中显示的应用程序列表

来自分类Dev

如何在KDE中确定“打开方式”应用程序的优先级?

来自分类Dev

绕过“打开方式...”菜单直接在应用程序中打开 iOS 邮件附件

来自分类Dev

如何修复损坏的“打开方式”?

来自分类Dev

UIActivityViewController中的“打开方式”功能

来自分类Dev

将.txt的“打开方式”从记事本更改为记事本++-如何从上下文菜单中恢复打印?

来自分类Dev

如何从PCManFM的(打开方式)上下文菜单将flv文件转换为mp3?

来自分类Dev

在上下文菜单中有多个“打开方式”应用程序

来自分类Dev

在Windows 10“打开方式”对话框中添加“将URI复制到剪贴板”选项

来自分类Dev

将文件扩展名关联到不在“打开方式”列表中的 UWP Windows 10 应用程序

来自分类Dev

如果我使用“打开方式”,C#WPF应用程序将无提示崩溃

来自分类Dev

自定义.desktop文件未显示在Nautilus“打开方式”菜单中

Related 相关文章

  1. 1

    将应用程序添加到“打开方式”列表中

  2. 2

    将项目添加到Windows 8中的“打开方式”列表中

  3. 3

    在Ubuntu中将复杂的启动器添加到“打开方式”列表中

  4. 4

    如何使我的应用程序通过Java在Windows的“打开方式”菜单中显示

  5. 5

    如何从Windows 8的“打开方式”菜单中删除程序?

  6. 6

    如何在照片图像的“打开方式或共享方式”中添加应用程序?

  7. 7

    如何在iOS 8共享扩展程序中添加“打开方式”按钮?

  8. 8

    如何在Xubuntu 13.04的程序“打开方式”列表中添加自定义程序?如何将文件与打开程序的程序关联?

  9. 9

    如何在Xubuntu 13.04的程序“打开方式”列表中添加自定义程序?如何将文件与打开程序的程序关联?

  10. 10

    如何在上下文菜单中强制“打开方式”直接跳至浏览程序文件

  11. 11

    程序未显示在“打开方式”菜单的“其他程序”中

  12. 12

    应用程序未显示在“打开方式”菜单中,显示受支持的文档类型

  13. 13

    重命名“打开方式”菜单中的“应用程序”选项

  14. 14

    应用程序未显示在云端硬盘用户界面的“打开方式”菜单中

  15. 15

    如何在已经运行的Electron应用程序中通过“打开方式”打开文件?

  16. 16

    注册要在“打开方式”列表中显示的程序

  17. 17

    使用环境变量指向“打开方式”程序

  18. 18

    如何控制在iOS的“打开方式”中显示的应用程序列表

  19. 19

    如何在KDE中确定“打开方式”应用程序的优先级?

  20. 20

    绕过“打开方式...”菜单直接在应用程序中打开 iOS 邮件附件

  21. 21

    如何修复损坏的“打开方式”?

  22. 22

    UIActivityViewController中的“打开方式”功能

  23. 23

    将.txt的“打开方式”从记事本更改为记事本++-如何从上下文菜单中恢复打印?

  24. 24

    如何从PCManFM的(打开方式)上下文菜单将flv文件转换为mp3?

  25. 25

    在上下文菜单中有多个“打开方式”应用程序

  26. 26

    在Windows 10“打开方式”对话框中添加“将URI复制到剪贴板”选项

  27. 27

    将文件扩展名关联到不在“打开方式”列表中的 UWP Windows 10 应用程序

  28. 28

    如果我使用“打开方式”,C#WPF应用程序将无提示崩溃

  29. 29

    自定义.desktop文件未显示在Nautilus“打开方式”菜单中

热门标签

归档