|
发表于 2014-1-20 21:05:23
|
显示全部楼层
回复 1# yunnl
第一个问题:倒计时论坛很多示例,搜一下就有,这里有几个:#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $time = 30
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("倒计时测试窗口", 350, 172, 193, 125)
$Label1 = GUICtrlCreateLabel("30秒后将进入主程序!", 56, 32, 232, 28)
GUICtrlSetFont(-1, 18, 400, 0, "楷体_GB2312")
$Progress1 = GUICtrlCreateProgress(8, 88, 333, 17)
$Button1 = GUICtrlCreateButton("确定(&Y)", 53, 128, 73, 25, 0)
$Button2 = GUICtrlCreateButton("退出(&X)", 210, 128, 73, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
AdlibEnable("_timer", 1000)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $Button2
Exit
Case $Button1
ExitLoop
EndSwitch
If $time <= 0 Then ExitLoop
WEnd
main()
Exit
Func _timer()
$time -= 1
GUICtrlSetData($Label1, $time & "秒后将进入主程序!")
GUICtrlSetData($Progress1, (30 - $time) / 0.3)
If $time <= 0 Then AdlibDisable()
EndFunc ;==>_timer
Func main()
MsgBox(0, 'test', '倒计时结束,进入主程序.', 10)
;以下为主程序
EndFunc ;==>main
Global $time = 5
$Form1 = GUICreate("Form1", 297, 122, 192, 124)
$Button1 = GUICtrlCreateButton("倒计时(5秒)", 80, 72, 129, 33)
GUISetState(@SW_SHOW)
AdlibRegister("_timer", 1000)
While 1
Switch GUIGetMsg()
Case - 3,$Button1
Exit
EndSwitch
WEnd
Func _timer()
$time -= 1
GUICtrlSetData($Button1, "倒计时("&$time&")秒" )
If $time <= 0 Then Exit
EndFunc ;==>_timer
$Form1 = GUICreate("Form1", 297, 122, 192, 124)
$Button1 = GUICtrlCreateButton("倒计时(5秒)", 80, 72, 129, 33)
GUISetState(@SW_SHOW)
Global $timeA=5
$Timer = DllCallbackRegister("Timer", "int", "hwnd;uint;uint;dword")
$TimerDLL = DllCall("user32.dll", "uint", "SetTimer", "hwnd", 0, "uint", 0, "int", 1000, "ptr", DllCallbackGetPtr($Timer))
While 1
Switch GUIGetMsg()
Case - 3,$Button1
Exit
EndSwitch
WEnd
Func Timer($hWnd, $uiMsg, $idEvent, $dwTime)
If $idEvent = $TimerDLL[0] Then
$timeA-=1
GUICtrlSetData($Button1, "倒计时("&$timeA&"秒)" )
If $timeA=0 Then Exit
EndIf
EndFunc
第二个问题:http://www.autoitx.com/thread-39892-1-1.html |
|