var startmenu
!insertmacro MUI_PAGE_STARTMENU DefaultPage $startmenu
在上面的一行代码可以用来创建开始菜单文件夹页面。如果用户点击这个页面的后退按钮想要移动控制某个特定页面。我已经尝试过${NSD_Back}, OnClick
功能,但我不知道在哪里实现此代码来检查按下的返回按钮?
如何检查开始菜单文件夹页面中按下的后退按钮?
var startmenu
!insertmacro MUI_PAGE_STARTMENU DefaultPage $startmenu
在上面的一行代码可以用来创建开始菜单文件夹页面。如果用户点击这个页面的后退按钮想要移动控制某个特定页面。我已经尝试过${NSD_Back}, OnClick
功能,但我不知道在哪里实现此代码来检查按下的返回按钮?
如何检查开始菜单文件夹页面中按下的后退按钮?
开始菜单页面是由第三方插件创建的,而不是由 NSIS 代码创建的。
所以你需要修改开始菜单插件源来获取通知。
也许如果你说你想达到什么目标,我们可以帮助你?
您可以使用许多其他功能 - 例如页面的回调来检查上一页/下一页的状态。
你所要求的没有任何意义,但你去:
!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