0
var startmenu
!insertmacro MUI_PAGE_STARTMENU DefaultPage $startmenu

在上面的一行代码可以用来创建开始菜单文件夹页面。如果用户点击这个页面的后退按钮想要移动控制某个特定页面。我已经尝试过${NSD_Back}, OnClick功能,但我不知道在哪里实现此代码来检查按下的返回按钮?

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

4

2 回答 2

0

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

所以你需要修改开始菜单插件源来获取通知。

也许如果你说你想达到什么目标,我们可以帮助你?

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

于 2013-09-12T04:52:20.377 回答
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
于 2013-09-12T15:30:31.947 回答