如题~~~~~~~~~需要用到Timer的功能但是 是无窗体的··咋办??

解决方案 »

  1.   

    搞个Visible=False的窗体
    或者Form1.Hide
      

  2.   

    用VB做的程序总有个窗体吧,在任意一个窗体放一个timer。
    然后改下以下代码,放到类模块,这是我正在使用的方法
    Option ExplicitPrivate WithEvents myTimer As Timer
    Private TimerName As String
    Public Event TimerRunning()
    Public Sub LoadTimer(theTimeSpan As Integer)
        Dim str1 As String
        Dim str2 As String
        Dim str3 As String
        str1 = Replace(GUIDGen, "-", "")
        str2 = Replace(str1, "{", "")
        str3 = Replace(str2, "}", "")
        TimerName = str3
        Set myTimer = FormTimers.Controls.Add("VB.timer", "T" & TimerName)
        myTimer.Interval = theTimeSpan
        myTimer.Enabled = True
    End Sub
    Private Sub myTimer_Timer()
        RaiseEvent TimerRunning
    End Sub
    Public Sub UnloadTimer()
        myTimer.Enabled = False
        Set myTimer = Nothing
        FormTimers.Controls.Remove "T" & TimerName
    End Sub
    Public Sub SetInterval(theTimeSpan As Long)
        myTimer.Interval = theTimeSpan
    End Sub
      

  3.   

    做1个DLL,没有窗体········
      

  4.   

    那个江南春大侠不是写过一个类模块中的timer【在VB的类模块中使用计时器】
    http://topic.csdn.net/u/20090527/11/439c51aa-0e80-4619-b956-a3431afe5a2c.html?17861
      

  5.   

    dim dt as double
    do
        if now - dt > 1 / 24 / 3600 * 10 then ' 10秒
            ...
            dt = now
        end if
        doevents
    loop
      

  6.   

    可替代VB自带的Timer控件的Timer类用这个类可以替代VB自带的Timer控件,这样就不用在无窗体的项目中仅为了使用Timer而多加一个窗体了。我一般用在ActiveX exe中用来分离系统控制权,用Timer的好处是避免控制权死锁,这样也就模拟出了多线程(实际上是多进程),能给用户更好的体验。 
      

  7.   

    无窗口程序中, 使用timer 需要自己设计好代码流程
    设置一个消息循环,在调用了settimer后,须立即进入消息循环, 或在settimer前就进入程序代码入口..用户代码..
    timerid = settimer xx,xx,x,x,xdo
      if getmessage(00000) = 0 then exit do
       if msg.message = wm_timer then
           if msg.wparam = timerid then msgbox "timerid 为xx的timer正在运行"
       end if
    loop