komaau3 发表于 2012-6-16 18:19:09

回复 9# netegg

嘿嘿 我是在解释AdlibRegister函数,不料解释错了,10s跟10ms还是有差别滴。。。。

xms77 发表于 2012-6-16 21:50:06

回复 13# afan
请教A大,为什么把函数"_DJS"里面的参数去掉就不行,不是那4个参数没有用到吗?

afan 发表于 2012-6-16 21:54:53

本帖最后由 afan 于 2012-6-16 21:58 编辑

回复 17# xms77


    那是个回调函数,而且必须得有4个参数(_Timer_SetTimer 函数内部是 $hCallBack = DllCallbackRegister($sTimerFunc, "none", "hwnd;int;uint_ptr;dword")),只是调用时并不需要这些,用 #forceref 忽略掉

menfan1 发表于 2012-6-17 11:10:04

又学习了一招哈。。

xms77 发表于 2012-6-17 19:01:01

回复 18# afan
感谢A大的解惑!

fhqbbfcu2050 发表于 2012-6-19 22:45:42

这个还没看过,像这个弄出来可以弄成多线程不???

republican 发表于 2012-6-20 12:21:23

回复 11# auto

对于某些延时操作可以使用异步非阻塞的调用方式玩玩。

auto 发表于 2012-6-20 13:42:19

回复 22# republican

AU3有异步非阻塞调用方式,如何使用……有没有例子参考一下
还是指HTTP的GET

xiaowo 发表于 2012-6-20 13:45:34

LZ 如果有简单源码例子应该早就解决了。
要做到LZ的要求实现的方法不少,这里写了个简单例子,给需要的朋友 ...
afan 发表于 2012-6-16 10:15 http://www.autoitx.com/images/common/back.gif


    进来学习了

fengjie 发表于 2021-4-23 23:06:59

afan 发表于 2012-6-16 10:15
LZ 如果有简单源码例子应该早就解决了。
要做到LZ的要求实现的方法不少,这里写了个简单例子,给需要的朋 ...

在此基础上,如果想增加个暂停倒计时功能,该用什么方法呢?用_Timer_KillTimer()可以吗?不知A版能否给个例子?

afan 发表于 2021-4-23 23:30:16

fengjie 发表于 2021-4-23 23:06
在此基础上,如果想增加个暂停倒计时功能,该用什么方法呢?用_Timer_KillTimer()可以吗?不知A版能否给 ...

十年前的帖子都被你翻出来了……
#include <Timers.au3>

Local $hGUI = GUICreate('倒计时+暂停', 350, 100)
Global $iBtn = GUICtrlCreateButton('暂停/继续', 10, 10, 100, 22)
Global $iLabel = GUICtrlCreateLabel('10', 120, 40, 100, 30, 0x01)
GUICtrlSetFont(-1, 20, 800, 0, '微软雅黑')
GUISetState()
Global $iTotal = 10, $iCount = $iTotal
Global $bIsPause = False
Global $iTimer = _Timer_SetTimer($hGUI, 1000, '_DJS')

While 1
        Switch GUIGetMsg()
                Case -3
                        ExitLoop
                Case $iBtn
                        $bIsPause = Not $bIsPause
        EndSwitch
WEnd
_Timer_KillTimer($hGUI, $iTimer)
GUIDelete()

Func _DJS($hWnd, $iMsg, $iIDTimer, $iTime)
        If $bIsPause Then Return
        $iCount -= 1
        GUICtrlSetData($iLabel, $iCount)
        If $iCount = 0 Then
                _Timer_KillTimer($hGUI, $iTimer)
                GUICtrlSetState($iBtn, 32)
                MsgBox(0, '', '时间到')
        EndIf
EndFunc   ;==>_DJS

fengjie 发表于 2021-4-24 18:35:11

afan 发表于 2021-4-23 23:30
十年前的帖子都被你翻出来了……

啊哈哈哈,十年一眨眼就过了:face (10):
谢谢A版的例子,学习了
页: 1 [2]
查看完整版本: 程序就差最后1步了。求大神支招关于_Timer_SetTimer 函数问题