2013-03-27 140 views
1

我使用VB6在web浏览器窗口中使用此代码发起提出申请:VB6应用:WebBrowser.Navigate刷新每3分钟

 Private Sub Form_Load() 
    WebBrowser1.Navigate ("http://google.com") 
    End Sub 

我怎样才能使窗口刷新相同的URL每次我们说3分钟? 我知道它应该是众所周知的,但我仍然在通过VB编程寻找我的方式

+0

除非使用'Call'或使用'.Navigate'的返回值,否则不应该在URL周围加括号。 – Deanna 2013-04-01 14:41:57

回答

1

您可以使用定时器以定期运行代码。 由于VB6定时器的最大间隔为〜65s,因此可以将其设置为60,000ms的间隔,并保留一个单独的计数器,当它达到3时,将其重置为0并执行刷新。

Private Sub Timer_Timer 
    'Increment minute count 
    FireCount = FireCount + 1 

    If FireCount = 3 then 
    'Reset to 0 for next time 
    FireCount = 0 

    'Refresh web browser 
    End If 
End Sub 
+0

你可以请告诉我在哪里可以找到资源/教程关于如何做到这一点,因为我在VB6 null null – 2013-03-27 17:12:50

+0

@NizarBark这是一个简单的计时器,增量和if语句,没有什么可以辅导。 – Deanna 2013-03-28 09:18:26

+0

我已经把下面的代码'code'Private子的Form_Load() WebBrowser1.Navigate时( “http://www.google.com”) 结束小组 私人小组T_Timer() “增加分钟数 FireCount = FireCount + 1 如果FireCount = 3然后 '复位为0下次 FireCount = 0 WebBrowser1.Refresh( “http://www.google.com”) ' 刷新网页浏览器 结束如果结束 Sub'code',但它给我一个警告说编译错误:错误的数字或参数或无效的财产分配 – 2013-03-31 18:37:45

3

你并不需要2个计时器。只需要一个全局变量globalTimer As Date即可保持上一次导航 您可以将Timer1设置为每秒或每分钟运行一次。为了更准确,我建议每一秒。

Dim globalTimer As Date 
... 
Private Sub Timer1_Timer() 
    If Now >= DateAdd("n", 3, globalTimer) Then ' its been at least 3 minutes since last Navigation 
     WebBrowser1.Navigate ("http://google.com") ' Navigate 
     globalTimer = Now       ' store the new navigation time 
    End If 
End Sub 
+0

我试过了代码,它每隔3秒刷新一次浏览器,但它不会打开网站谷歌,因为它曾经是以前的代码,请任何帮助! – 2013-03-27 20:06:35

+0

WOOOPS!如果globalTimer> = DateAdd(“n”,3,Now)那么''应该是'If Now> = DateAdd(“n”,3,globalTimer)然后' – George 2013-03-27 21:48:46