0

だからあなたが私にくれたものはうまくいきます。問題は、パスワード ページにパスワードを入力するように求めるメッセージが表示されるように設定する方法です。

Function leave 


    ${NSD_GetText} $hwnd $0
    ${If} $0 != "web9^root"
        MessageBox MB_OK "Please enter a valid security code"
        Abort
    ${EndIf}
FunctionEnd
Function pre
nsDialogs::Create 1018
    Pop $dialog

${NSD_CreatePassword} 0 0 50% 8% ""
    Pop $hwnd


nsDialogs::show

FunctionEnd

======================

そのため、次のスクリプトを実行するように設定しています。

!include "nsDialogs.nsh" 
!include "winmessages.nsh"
!include "logiclib.nsh"
OutFile "test.exe"



Page Custom pre

var dialog
var hwnd

Function pre
nsDialogs::Create 1018
    Pop $dialog
${NSD_CreatePassword} 0 0 50% 8% "web9^root"
    Pop $hwnd
    SendMessage $hwnd ${EM_SETPASSWORDCHAR} 149 0 # 149 = medium dot

nsDialogs::Show
FunctionEnd

Section ""
SectionEnd

パスワードを知らないと通行できないようにするにはどうすればよいですか。また、パスワードがテキスト フィールドにまだ入力されていないように、誰がパスワードを設定するかを知る必要もあります。皆さん、これで私を助けてくれませんか

4

1 に答える 1

1

その nsdialogs ページに leave 関数を追加する必要があります...

Page custom pre leave

...そして、そこでパスワードを確認します...

Function leave
    ${NSD_GetText} $hwnd $0
    ${If} $0 != "yourPassword"
        MessageBox MB_OK "Wrong password"
        Abort
    ${EndIf}
FunctionEnd

そのフィールドにパスワードを入力したくない場合は、ダイアログを作成するときに空のままにしてください。

于 2013-07-08T21:47:59.747 に答える