在 NSIS 脚本中设置不同的开始菜单图标?
Setting different Start Menu icon in NSIS script?
是否可以在 NSIS 中为开始菜单快捷方式和桌面快捷方式使用不同的图标?
在桌面上,快捷方式尺寸完美,为 48x48。但是在开始菜单中,图标的大小缩小到我假设的 32x32 并且看起来不稳定。
CreateShortCut "$SMPROGRAMS${NAME}.lnk" \
"$INSTDIR$(shortcut_name).lnk"
CreateShortCut "$DESKTOP${NAME}.lnk" \
"$INSTDIR$(shortcut_name).lnk"
非常感谢。
如果您查看 CreateShortcut 的规范,您会发现参数如下。
[/NoWorkingDir] link.lnk target.file [parameters [icon.file [icon_index_number [start_options [keyboard_shortcut [description]]]]]]
由于您没有任何参数,我相信您必须向其传递一个空字符串。所以像这样的事情可能会做到。
CreateShortCut "$SMPROGRAMS${NAME}.lnk" \
"$INSTDIR\MyApplication.exe" \
"" \
"$INSTDIR\MyApplication.exe"`
或者,如果您的主可执行文件中有另一个图标并想使用它,您可以像这样在图标路径后指定一个索引。
CreateShortCut "$SMPROGRAMS${NAME}.lnk" \
"$INSTDIR\MyApplication.exe" \
""\
"$INSTDIR\MyApplication.exe" 2`
一个 Windows 图标可以包含多个不同大小的图像,您的图标最好包含 16x16、24x24、32x32、48x48、128x128 和 256x256 像素的图像。
桌面和开始菜单上的图标大小取决于系统设置和 DPI。
对于大多数安装程序,您只需使用 CreateShortCut "$SMPROGRAMS${NAME}.lnk" "$INSTDIR\myapp.exe"
,而 myapp.exe 的资源中会有图标。您还可以使用外部 .ico 文件:CreateShortCut "$SMPROGRAMS${NAME}.lnk" "$INSTDIR\myapp.exe" "" "$INSTDIR\myapp.ico" 0
是否可以在 NSIS 中为开始菜单快捷方式和桌面快捷方式使用不同的图标?
在桌面上,快捷方式尺寸完美,为 48x48。但是在开始菜单中,图标的大小缩小到我假设的 32x32 并且看起来不稳定。
CreateShortCut "$SMPROGRAMS${NAME}.lnk" \
"$INSTDIR$(shortcut_name).lnk"
CreateShortCut "$DESKTOP${NAME}.lnk" \
"$INSTDIR$(shortcut_name).lnk"
非常感谢。
如果您查看 CreateShortcut 的规范,您会发现参数如下。
[/NoWorkingDir] link.lnk target.file [parameters [icon.file [icon_index_number [start_options [keyboard_shortcut [description]]]]]]
由于您没有任何参数,我相信您必须向其传递一个空字符串。所以像这样的事情可能会做到。
CreateShortCut "$SMPROGRAMS${NAME}.lnk" \
"$INSTDIR\MyApplication.exe" \
"" \
"$INSTDIR\MyApplication.exe"`
或者,如果您的主可执行文件中有另一个图标并想使用它,您可以像这样在图标路径后指定一个索引。
CreateShortCut "$SMPROGRAMS${NAME}.lnk" \
"$INSTDIR\MyApplication.exe" \
""\
"$INSTDIR\MyApplication.exe" 2`
一个 Windows 图标可以包含多个不同大小的图像,您的图标最好包含 16x16、24x24、32x32、48x48、128x128 和 256x256 像素的图像。
桌面和开始菜单上的图标大小取决于系统设置和 DPI。
对于大多数安装程序,您只需使用 CreateShortCut "$SMPROGRAMS${NAME}.lnk" "$INSTDIR\myapp.exe"
,而 myapp.exe 的资源中会有图标。您还可以使用外部 .ico 文件:CreateShortCut "$SMPROGRAMS${NAME}.lnk" "$INSTDIR\myapp.exe" "" "$INSTDIR\myapp.ico" 0