只要程序运行就自动打开126.com网站,等过了5分钟后再自动打开163.com网站,等7分钟后再重新打开126.com,就这样循环,也就是说在在13分钟内要打开二个网站,第二个网站必须等7分钟后才能打开,循环操作。
下面是我的测试程序,但只能做到每5分钟就执行打开126.com,不能在打开126.com 后在等7分钟后打开163.com
Option Explicit Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
 Const TENMINUTE = 300Private Sub Form_Load()Timer1.Interval = 1000
    Timer1 = True
End Sub  Private Sub Timer1_Timer()
      Static lngCount As Long
        
         
   If lngCount = TENMINUTE Then
    prog
  
         lngCount = 0
 
  
 Else
      lngCount = lngCount + 1
        
                             End If
    End Sub
    
  '执行程序段
  Private Sub prog()
 Shell "C:\Program Files\Mozilla Firefox\firefox.exe http://126.com", vbHide    
  End Sub

解决方案 »

  1.   

    呵呵 你都放了一个timer了,再放一个timer就不难了吧?
    然后定义一个strTemp存储一个时间,就可以完成了
      

  2.   


    Const TENMINUTE = 300 
    Const TENMINUTE1 = 420 
    Private Sub Timer1_Timer() 
      Static lngCount As Long 
      If lngCount = TENMINUTE Then   '300秒,就是5分钟,这时候打开一次
        prog 
        lngCount = 0 
        Timer1.enable=false
    timer1.enable=true
    Else 
       lngCount = lngCount + 1 
      End If 
        End Sub '多加一个时间控件,在第一个打开之后,激活,开始7分钟倒计时
    Private Sub Timer2_Timer() 
      Static lngCount As Long 
      If lngCount = TENMINUTE2 Then   '300秒,就是5分钟,这时候打开一次
        prog 
        lngCount = 0 
        Timer2.enable=false
    timer1.enable=true
    Else 
       lngCount = lngCount + 1 
      End If 
        End Sub 
      

  3.   

    用3个time控制最简单了
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Const INTERVEL1 = 300
    Const INTERVEL2 = 420
    Private mintTotMin As LongPrivate Sub Form_Load()
        Timer1.Interval = 1000
        Timer1.Enabled = True
        Timer2.Interval = 1000
        Timer2.Enabled = True
        Timer3.Interval = 1000
        Timer3.Enabled = True
    End SubPrivate Sub Form_Unload(Cancel As Integer)
        Timer1.Enabled = False
        Timer2.Enabled = False
        Timer3.Enabled = False
    End SubPrivate Sub Timer1_Timer()
        If mintTotMin = INTERVEL1 Then
            prog
        End If
    End Sub
        
    'Ö´ÐгÌÐò¶Î
    Private Sub prog()
        Shell "D:\Program Files\TheWorld 2.0\TheWorld.exe http://126.com", vbMaximizedFocus
    End SubPrivate Sub prog1()
        Shell "D:\Program Files\TheWorld 2.0\TheWorld.exe http://163.com", vbMaximizedFocus
    End SubPrivate Sub Timer2_Timer()
        If mintTotMin = INTERVEL1 + INTERVEL2 Then
            prog1
        End If
    End SubPrivate Sub Timer3_Timer()
        If mintTotMin > 0 And (mintTotMin Mod (INTERVEL1 + INTERVEL2) = 0) Then
            mintTotMin = 0
        Else
            mintTotMin = mintTotMin + 1
        End If
    End Sub
      

  4.   

    我这样好象一直定时打开第一个126.com,不能打开163.comOption Explicit Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Const TENMINUTE = 5 '这里我故意用10秒
    Const TENMINUTE1 = 10 '这里我故意用10秒
    Private Sub Form_Load()Timer1.Interval = 1000
        Timer1 = True
    End SubPrivate Sub Timer1_Timer()
      Static lngCount As Long
      If lngCount = TENMINUTE Then   '300秒,就是5分钟,这时候打开一次
        prog
        lngCount = 0
        Timer1.Enabled = False
    Timer1.Enabled = True
    Else
       lngCount = lngCount + 1
      End If
        End Sub'多加一个时间控件,在第一个打开之后,激活,开始7分钟倒计时
    Private Sub Timer2_Timer()
      Static lngCount As Long
      If lngCount = TENMINUTE1 Then   '300秒,就是5分钟,这时候打开一次
        prog1
        lngCount = 0
        Timer2.Enabled = False
    Timer1.Enabled = True
    Else
       lngCount = lngCount + 1
      End If
        End Sub  '执行程序段
      Private Sub prog()
     Shell "C:\Program Files\Mozilla Firefox\firefox.exe http://126.com", vbHide    
      End Sub
         
      '执行程序段
      Private Sub prog1()
     Shell "C:\Program Files\Mozilla Firefox\firefox.exe http://163.com", vbHide    
      End Sub
      

  5.   

    Option ExplicitPrivate Const TASK_COUNT As Long = 2
    Private m_aTaskWaiting(TASK_COUNT - 1) As Long
    Private m_aTaskUrl(TASK_COUNT - 1) As StringPrivate m_TaskID As Long
    Private m_CountDown As LongPrivate Sub Form_Load()
        m_aTaskWaiting(0) = (5 * 60)
        m_aTaskWaiting(1) = (7 * 60)
        m_aTaskUrl(0) = "http://126.com"
        m_aTaskUrl(1) = "http://163.com"
        
        m_TaskID = 0
        m_CountDown = m_aTaskWaiting(m_TaskID)    Timer1.Interval = 1000
        Timer1 = True
    End SubPrivate Sub Timer1_Timer()
        m_CountDown = m_CountDown - 1
        If m_CountDown <= 0 Then
            Shell "C:\Program Files\Mozilla Firefox\firefox.exe " & m_aTaskUrl(m_TaskID), vbHide
            
            m_TaskID = ((m_TaskID + 1) Mod TASK_COUNT)
            m_CountDown = m_aTaskWaiting(m_TaskID)
        End If
    End Sub
      

  6.   

    Option ExplicitPrivate Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Const TENMINUTE = 2 '这里我故意用10秒
    Const TENMINUTE1 = 3 '这里我故意用10秒
    Private Sub Form_Load()    Timer1.Interval = 1000
        Timer2.Interval = 1000
        Timer1 = True
        Timer2 = False
    End SubPrivate Sub Timer1_Timer()
      Static lngCount As Long
      
      If lngCount = TENMINUTE Then  '300秒,就是5分钟,这时候打开一次
        prog
        lngCount = 0
        Timer1.Enabled = False
        Timer2.Enabled = True
      Else
        lngCount = lngCount + 1
      End If
        End Sub'多加一个时间控件,在第一个打开之后,激活,开始7分钟倒计时
    Private Sub Timer2_Timer()
      Static lngCount As Long
      If lngCount = TENMINUTE1 Then  '300秒,就是5分钟,这时候打开一次
        prog1
        lngCount = 0
        Timer2.Enabled = False
        Timer1.Enabled = True
    Else
        lngCount = lngCount + 1
      End If
        End Sub
      '执行程序段
      Private Sub prog()
            MsgBox "1"Shell "C:\Program Files\Mozilla Firefox\firefox.exe http://126.com", vbHide    
      End Sub
        
      '执行程序段
      Private Sub prog1()
    MsgBox "2"Shell "C:\Program Files\Mozilla Firefox\firefox.exe http://163.com", vbHide    
      End Sub
      

  7.   

    Option ExplicitPrivate Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Const TENMINUTE = 5 '这里我故意用10秒
    Const TENMINUTE1 = 7 '这里我故意用10秒
    Private Sub Form_Load()    Timer1.Interval = 1000
        Timer2.Interval = 1000
        Timer1 = True
        Timer2 = False
    End SubPrivate Sub Timer1_Timer()
      Static lngCount As Long
      
      If lngCount = TENMINUTE Then  '300秒,就是5分钟,这时候打开一次
        prog
        lngCount = 0
        Timer1.Enabled = False
        Timer2.Enabled = True  Else
        lngCount = lngCount + 1
      End If
        End Sub'多加一个时间控件,在第一个打开之后,激活,开始7分钟倒计时
    Private Sub Timer2_Timer()
      Static lngCount As Long
      If lngCount = TENMINUTE1 Then  '300秒,就是5分钟,这时候打开一次
        prog1
        lngCount = 0
        Timer2.Enabled = False
        Timer1.Enabled = True
    Else
        lngCount = lngCount + 1
      End If
        End Sub
      '执行程序段
      Private Sub prog()
            MsgBox "1"Shell "C:\Program Files\Mozilla Firefox\firefox.exe http://126.com", vbHide    
      End Sub
        
      '执行程序段
      Private Sub prog1()
    MsgBox "2"Shell "C:\Program Files\Mozilla Firefox\firefox.exe http://163.com", vbHide    
      End Sub
      

  8.   

    Tiger_Zhao 和cs_oldhorse 我试过是可以的。
    请问你们二位这样编译好之后长时间运行会很耗资源吗?因为我想把这个方法用到服务器上定时检测数据库。一般服务器2、3个月重起一次。
      

  9.   

    我的程序本身只有一个 Timer,也没有新建任何对象,耗用资源很少。
    你要考虑的是:不断通过命令行调用 firefox.exe,它会不会不断地开出新的窗口或标签页。