我想知道在nsDialog :: show之后是否有任何可以调用函数的方法。
我的情况是一个自定义页面,需要在nsDialog show之后运行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
实际上,只有当我关闭nsDialog时才会调用MyFunc
。
答案 0 :(得分:2)
使用短暂超时nsDialogs::CreateTimer
并在函数回调中终止计时器,它有点像黑客但似乎工作正常。
答案 1 :(得分:1)
nsDialog由独奏线程运行,但实际上你可以使用nsDialogs::CreateTimer
来回调一个函数而不指定时间。
您可以在以下网址阅读更多相关内容:
http://nsis.sourceforge.net/Docs/nsDialogs/Readme.html#ref-createtimer