如何查看NSIS开始菜单文件夹页面中按下的后退按钮?

时间:2013-09-11 05:43:24

标签: nsis

var startmenu
!insertmacro MUI_PAGE_STARTMENU DefaultPage $startmenu

在上面的一行代码中可以用来创建startmenu文件夹页面。如果用户单击此页面的后退按钮,则想要移动控件某些特定页面。 我已经尝试了${NSD_Back}, OnClick函数,但我不知道在哪里实现这个代码来检查按下按钮?

如何检查startmenu文件夹页面中按下的后退按钮?

2 个答案:

答案 0 :(得分:0)

开始菜单页面由第三方插件创建,而不是由NSIS代码创建。

因此,您需要修改“开始”菜单插件源以获取有关的通知。

也许如果你说你想要实现什么,我们可以帮助你吗?

您可以使用许多其他功能 - 例如页面回调以检查上一页/下一页的状态。

答案 1 :(得分:0)

你要求的东西没有任何意义,但是你去了:

!include MUI2.nsh
Var MyStartFolder
Var BackDetection
!insertmacro MUI_PAGE_WELCOME
!define MUI_PAGE_CUSTOMFUNCTION_PRE PageCallbackBeforeSMPre
!insertmacro MUI_PAGE_COMPONENTS
!define MUI_PAGE_CUSTOMFUNCTION_PRE PageCallbackSMPre
!insertmacro MUI_PAGE_STARTMENU DefaultPage $MyStartFolder
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE English

# nsis.sf.net/Go_to_a_NSIS_page
Function RelGotoPage
IntCmp $R9 0 0 Move Move
StrCmp $R9 "X" 0 Move
StrCpy $R9 "120"
Move:
SendMessage $HWNDPARENT 0x408 $R9 ""
FunctionEnd

Function PageCallbackBeforeSMPre
${If} $BackDetection == "SM"
    StrCpy $BackDetection ""
    StrCpy $R9 -1
    Call RelGotoPage
${EndIf}
FunctionEnd

Function PageCallbackSMPre
StrCpy $BackDetection SM
FunctionEnd