在NSIS中定义快捷方式

时间:2012-08-27 09:56:27

标签: nsis shortcut

这是我正在使用的代码。快捷方式而不是指向$ text指向“C:\ Users \ ze \ Desktop \ 329328”:s 有什么建议吗?!

由于

Function nsDialogsPage

    nsDialogs::Create 1018
    Pop $Dialog

    nsDialogs::SelectFileDialog open "$PROGRAMFILES\InduSoft Web Studio v7.0\Bin\RunStartUp.exe" "*.exe"

    Pop $Text

    ${NSD_CreateText} 0 13u 100% -13u $Text
    Pop $Text

    nsDialogs::Show

    CreateShortCut "$SMPROGRAMS\My application\My application.lnk" "$Text"
    CreateShortCut "$DESKTOP\My application.lnk" "$Text"

FunctionEnd

1 个答案:

答案 0 :(得分:1)

pop $Text语句存储所创建文本的 windows handle ,而不是其文本内容(参考文档在该点上具有误导性)。在您的示例中,返回的句柄是329328,这解释了奇怪的链接目标。

要获取内容,您可以使用${NSD_GetText}之类的内容:

${NSD_CreateText} 0 13u 100% -13u $TextToShow
Pop $TextHandle
;...
;...
${NSD_GetText} $TextHandle $0 ; $0 will receive the text string