nsis创建Internet快捷方式不显示图标

nsis创建Internet快捷方式不显示图标,nsis,shortcut,Nsis,Shortcut,当我试图在创建InternetShortcut时给出自定义图标时,所创建的InternetShortcut中没有特定的图标。默认图标为“提交” 以下是代码: WriteINIStr "$SMPROGRAMS\Launch_APP.url" "InternetShortcut" "URL" "http://localhost:9080/myapp/index.php" WriteINIStr "$SMPROGRAMS\Launch_APP.url" "InternetShortcut" "Ic

当我试图在创建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"
感谢您使用NSIS


因此,有一个函数
CreateShortCut
(nsis.sourceforge.net/Docs/Chapter4.html#4.9.3.4)。它旨在创建Windows支持的任何快捷方式。你应该用它。如果您发现某些特定情况下它不起作用,请随时向NSIS联系人列表中的开发人员发送邮件,或在他们的错误跟踪器中创建记录单。

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

您可以尝试将IconIndex=0添加到.ini中,但我猜图标路径是错误的,或者图标缓存正在妨碍您


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

Hmm。。。有一个函数CreateShortCut()。。。为什么不使用它?@HX_unbanned:你应该回答一下……当我用$startmenus替换$SMPROGRAMS时,上面的代码开始工作。不知道为什么…嗯,是的,这很奇怪。。。但——尽管如此——你们正在以一种非常恶劣的方式创造捷径。即使它是INI半结构化文件……)在3.0 branch,Anders?HX_unbanned:没有,这意味着嗅探scheme前缀或类似的东西…可能是指向*.url创建的COM示例代码的某种链接。对CreateShortcut函数文档进行良好编辑吗?:)