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


var startmenu
!insertmacro MUI_PAGE_STARTMENU DefaultPage $startmenu

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

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

你所要求的没有任何意义,但你来了:

!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

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

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

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

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

最新更新