頁數在編譯時是固定的。
如果您需要不同的「隱藏」頁面或僅僅是同一頁面的幾個實例,我會說你應該跳過頁面的時候通過調用abort來創建頁面的回調,但這不起作用如果頁數是無限的。
也可以直接轉到頁:
Outfile test.exe
Requestexecutionlevel user
!include nsDialogs.nsh
Page Custom mypagecreate mypageleave
Page Directory dirpagecreate
Page Instfiles
Function mypagecreate
Var /Global MyCheckBox
nsDialogs::Create /NOUNLOAD 1018
Pop $0
${NSD_CreateCheckBox} 10% 20u 80% 12u "Again?"
Pop $MyCheckBox
nsDialogs::Show
FunctionEnd
Function mypageleave
${NSD_GetState} $MyCheckBox $0
StrCpy $MyCheckBox $0 ; This is a bit of a hack, we reuse the HWND var to store the state
FunctionEnd
Function dirpagecreate
${If} $MyCheckBox <> 0 ; Was the checkbox checked?
SendMessage $HWNDPARENT 0x408 -1 "" ; If so, go back
${EndIf}
FunctionEnd
Section
SectionEnd
這看起來真的對我好。我沒有考慮將窗口句柄存儲在以後重用。我會對此進行測試並對其進行編輯,以便讓您知道它是否按預期工作,但從這一點看,這對我來說看起來不錯。 –
這對我來說效果很好。我能夠讓所有的東西都按我的意願工作。非常感謝你。 –