如何才能VB程序运行后10S后自动退出

如题所述

最简单的方法:加个timer,form的load中把timer的enable设为true,timer的触发间隔设为1000(1秒),事件中用一个static的变量从0开始,每次触发+1,到10时关闭程序。这个方法的缺点是timer的时间不精确。

稍复杂的方法:用游戏级定时技术,GetTickCount函数获得当前时间保存,然后用一个死循环中反复用GetTickCount检查时间,当与之前保存的时间间隔达到10s后退出。在vb这种单线程里,可以在循环中加入doevents语句,这样窗体不会假死。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-11
Private Sub Command1_Click()
Dim ST As Long, ED As Long '声明
ST = Timer'获取开始运行程序的时间
Do
ED = Timer'获取现在时间
DoEvents'释放控制
Loop Until ED - ST >= 10'开始时间-现在的时间等于10秒就退出,你想要多少秒自己修改。
If ED - ST >= 10 Then'最后加个判断
End'退出程序
End If
End Sub
我只是将cfanpk 的方法换成代码。

参考资料:我只是将cfanpk 的方法换成代码。 判断时间的代码也是别人滴

本回答被提问者采纳
第2个回答  2012-02-11
首先在设置状态吧Timer1控件的Enabled设置成False
Private Sub Form_Load()
Timer1.Interval = 10000
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
End
End Sub
这样当Timer1控件执行时程序就自动退出了
第3个回答  2012-02-11
时间控件.10秒后 END 就行了。
第4个回答  2012-02-11
Dim Js As Integer
Private Sub Form_Load()
Timer1.Interval = 5000
End Sub
Private Sub Timer1_Timer()
Js = Js + 1
If Js >= 2 Then End
End Sub

如何才能VB程序运行后10S后自动退出
最简单的方法:加个timer,form的load中把timer的enable设为true,timer的触发间隔设为1000(1秒),事件中用一个static的变量从0开始,每次触发+1,到10时关闭程序。这个方法的缺点是timer的时间不精确。稍复杂的方法:用游戏级定时技术,GetTickCount函数获得当前时间保存,然后用一个死循环中反复用GetTick...

VB如何让程序延时执行10s,并且又不会很消耗系统
do while timer -t <10 doevents loop ...

vb如何实现一个程序先运行10s,然后停止1小时后,再继续运行一个小时...
初始设置:(一个文本框,一个标签,一个定时器)文本框:Text1.text的初值在控件属性中设置成10 定时器:Time1.Interval属性:1000,Time1.Enabled属性:True 标 签:Label1.Caption属性:计时10秒 程序:Dim A As Integer Private Sub Form_Load()A = 3600 End Sub Private Sub Timer1_Timer(...

VB中,如何用定时器控制一个循环结构呢?也就是说当循环超过了设定的时...
很简单啊.循环每进行一次前,检测某变量是否为真,如果为真就循环,如果不为真就退出循环.计时器就检测是否时间到了,如果到了,就把那个变量为假,否则为真.以上为思路.Option Explicit Dim Swtich As Boolean, Index As Byte'定义一个开关变量,及计时变量 Private Sub Command1_Click()Do While Swtich ...

vb6,做一个10s倒计时
Timer1.Enabled = False '先关闭计时器 关闭代码窗口,按下F5运行程序,单击“设置倒计时”命令按钮,弹出输入对话框,此时输入分钟数为1,确定,如图:单击“启动倒计时”命令按钮,文本框显示倒计时时间,并时刻变动,至此实现了倒计时功能,如图:将以上内容中时间改为10s即可,望采纳。

在VB中,执行以下程序段后,变量s显示的结果是( )?
s显示的结果是(2)。s=5 i=1,s=s+i=5+1=6 mod 4=2 i=i+6=7<15,s=s+i=2+7=9 mod 4=1 i=i+6=13<15,s=s+i=1+13=14 mod 4=2 i=i+6=13+6=19>15,结束循环。最后的s=2。

怎么用c++写一段程序,让计算机10秒之后打开一个文件
include <cstdlib>#include <windows.h>using namespace std;int main() { Sleep(10000);\/\/10*1000ms = 10s,\/\/为注释,可以不要 system("start 【链接地址】");\/\/替换【链接地址】为你的文件地址,记得\\要写成\\\\,"(双引号)要写成\\" return 0; \/\/打开前不能退出程序} ...

请教关于VB程序中用到的延时问题,希望高手给于解答!
set ws=wscript.createobject("wscript.shell")dim i dim lngTimer lngTimer=timer for i=1 to 10 ws.run "D:\\safe.bat \/start",0 do while timer-lngTimer<10000 '10S,时间自己定 doevents loop lngTimer=timer next end sub

关于VB Timer运行的问题
第一个问题:interval属性的单位是毫秒,设置为1时,执行周期时千分之一秒。第二个问题:timer事件在本质上是一个过程(sub),而过程的一个特点是,本次执行未完成时,若再执行一个实例,本次实例就会暂停,直到新的实例执行完毕,旧的实例才会继续执行。也就是说,先执行后完成。由于是不同的实例,...

...enable属性为true,并且有下面的事件,程序运行10秒后变量x的值为_百...
10s\/500ms=20次,也就说运行了20次,而x开始没有赋值会被自动设置为0,语法规则决定的,x=x+10,第一次的时候为x=0+10=10,第二次的时候x=10+10=20,第三次x=20+10=30,一直运行20次,所以,最后x的值为200。如果你是vb初学者的话,应该弄懂x=x+10的含义。

相似回答