2013-04-16 3 views
0

J'ai un installateur NSIS qui, à la fin de l'installation envoie un e-mail avec deux journaux différents attachés. Je voudrais permettre à l'utilisateur d'ajouter son adresse e-mail pour recevoir l'e-mail et je voudrais pour eux l'entrer sur la page d'arrivée, car il semble le plus approprié. Comment puis-je ajouter une zone de texte sur la page de fin pour l'utilisateur d'entrer leur adresse e-mail?NSIS - ajouter CreateText à MUI FINISH PAGE

Voici ma page en cours de finition:

;Finish page 
!Define MUI_FINISHPAGE_RUN 
    !Define MUI_FINISHPAGE_RUN_TEXT 'Open Install Log' 
    !Define MUI_FINISHPAGE_RUN_NOTCHECKED 
    !define MUI_FINISHPAGE_RUN_FUNCTION 'LaunchLog' 
!define MUI_FINISHPAGE_LINK 'Click here to visit us at co.com.' 
    !define MUI_FINISHPAGE_LINK_LOCATION http://www.co.com/ 
!define MUI_FINISHPAGE_TEXT_LARGE 
!define MUI_FINISHPAGE_TEXT "text text text" 
!insertmacro MUI_PAGE_FINISH 

Répondre

1
!include MUI2.nsh ;If you are using MUI v1 you need to replace NSD_* with .ini file commands 
!include Logiclib.nsh 
... 

!ifndef EM_SETCUEBANNER 
!define EM_SETCUEBANNER 0x1501 ; NT5 w/Themes & Vista+ 
!endif 

Var EMailEdit 

Function CustomizeFinishPage 
${NSD_CreateText} 120u 144u 180u 12u "" 
Pop $EMailEdit 
System::Call 'USER32::SendMessage(i$EMailEdit,i${EM_SETCUEBANNER},i0,w"E-mail address goes here...")' 
FunctionEnd 

Function SendFinishMail 
${NSD_GetText} $EMailEdit $0 
${If} $0 == "" ; TODO: Verify address by at least checking for *@*.* 
    MessageBox mb_iconstop "You must enter a valid address!" 
    Abort 
${EndIf} 
MessageBox mb_ok "TODO: Send mail to: $0" 
FunctionEnd 

... 

!insertmacro MUI_PAGE_* 
;Finish page 
!define MUI_FINISHPAGE_RUN 
    !define MUI_FINISHPAGE_RUN_TEXT 'Open Install Log' 
    !define MUI_FINISHPAGE_RUN_NOTCHECKED 
    !define MUI_FINISHPAGE_RUN_FUNCTION 'LaunchLog' 
!define MUI_FINISHPAGE_SHOWREADME "" #Used as our email checkbox 
    !define MUI_FINISHPAGE_SHOWREADME_TEXT "E-mail me some crap:" 
    !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED 
    !define MUI_FINISHPAGE_SHOWREADME_FUNCTION SendFinishMail 
!define MUI_FINISHPAGE_LINK 'Click here to visit us at co.com.' 
    !define MUI_FINISHPAGE_LINK_LOCATION http://www.co.com/ 
!define MUI_FINISHPAGE_TEXT_LARGE 
!define MUI_FINISHPAGE_TEXT "text text text" 
!define MUI_PAGE_CUSTOMFUNCTION_SHOW CustomizeFinishPage 
!insertmacro MUI_PAGE_FINISH 
!insertmacro MUI_LANGUAGE English 
+0

Merci pour l'aide, qui a été très utile. – afriesenborg

Questions connexes