2

nsDialog::show の後に関数を呼び出す方法はあるのだろうか。

私の場合は、nsDialog ショーの後に http get リクエストを実行する必要があるカスタム ページです。

    Function customPage
        nsDialogs::Create 1018
    Pop $0

    ${NSD_CreateButton} 0 0 100% 12u Test
    Pop $BUTTON

    ${NSD_CreateText} 0 35 100% 12u hello
    Pop $EDIT

    ${NSD_CreateCheckbox} 0 -20 100% 8u Test
    Pop $CHECKBOX

    ${NSD_CreateLabel} 0 40u 75% 40u "* Type `hello there` above.$\n* Click the button.$\n* Check the checkbox.$\n* Hit the Back button."
    Pop $0

    nsDialogs::Show
    Call MyFunc 
 FunctionEnd

実際には、の呼び出しMyFuncは、nsDialog を閉じるときにのみ発生します。

4

2 に答える 2

2

短いタイムアウトで使用nsDialogs::CreateTimerし、関数コールバックでタイマーを強制終了します。これは少しハックですが、正常に動作するようです。

于 2013-08-12T17:32:36.583 に答える
1

nsDialog はソロ スレッドで実行されますが、実際にはnsDialogs::CreateTimer時間を指定せずに関数をコールバックするために使用できます。

詳細については、次を参照してください。

http://nsis.sourceforge.net/Docs/nsDialogs/Readme.html#ref-createtimer

于 2013-08-14T07:23:19.347 に答える