2

当我在创建 InternetShortcut 时尝试提供自定义图标时,创建的 InternetShortcut 中不存在该特定图标。默认图标即将到来。

这是代码:

WriteINIStr "$SMPROGRAMS\Launch_APP.url" "InternetShortcut"  "URL" "http://localhost:9080/myapp/index.php"
WriteINIStr "$SMPROGRAMS\Launch_APP.url" "InternetShortcut"  "IconFile" "$ReadmePath\A.ico"
4

2 回答 2

1

CreateShortcut使用IShellLink创建快捷方式,不应该用于创建 Internet 快捷方式。您应该用于创建 Internet 快捷方式的文档化界面是IUniformResourceLocator。NSIS 没有对此的本机指令,但它可以由系统插件使用其 COM 语法调用。要设置图标,您必须为 IPropertySetStorage 设置 QueryInterface 并设置PID_IS_ICONFILE。最后,您将得到相同的 .ini 文件,这就是为什么许多示例(NSIS 和其他东西)只是使用 .ini API 编写的原因。

您可以尝试将 IconIndex=0 添加到 .ini 但我的猜测是图标路径错误或图标缓存妨碍了。

您是否尝试过清除图标缓存或在另一台机器上进行测试?

于 2013-06-06T17:25:37.760 回答
-1

感谢您使用 NSIS。

所以 - 有功能CreateShortCut(nsis.sourceforge.net/Docs/Chapter4.html#4.9.3.4)。它旨在创建 Windows 支持的任何快捷方式。你应该使用它。如果您发现某些特定情况下它不起作用,请随时邮寄给 NSIS 联系人列表中的开发人员或在他们的错误跟踪器中创建票证。

于 2013-06-06T07:52:31.743 回答