[au3]#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Dim $i,$j
GUICreate("My GUI") ; will create a dialog box that when displayed is centered
$progressbar1 = GUICtrlCreateProgress(10, 10, 300, 20)
GUISetState(@SW_SHOW) ; will display an empty dialog box
AdlibEnable("myadlib",1);开启一个调试线程,没1MS刷新一下进度.
; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then
ExitLoop
EndIf
If $i<10000 Then
$i=$i+1 ;你可以在这里做点事,如果任务量太大,UI就会假死.
$j=$i/100 ;$j就是百分比了.从这个可以看出用AU3做GUI的效率和不足了.
EndIf
;Sleep(1)
WEnd
GUIDelete()
;...
Exit
Func myadlib()
GUICtrlSetData($progressbar1, $j);刷新进度,这里同样不能做大任务,没有返回程序不会向下执行的.
EndFunc
;看这个,应该知道,我为什么说AU3没有多线程了吧.[/au3] |