有两种方法,第一种是调用shutdown.exe
创新互联-专业网站定制、快速模板网站建设、高性价比宜州网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式宜州网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖宜州地区。费用合理售后完善,十年实体公司更值得信赖。
shell("shutdown.exe路径
-s
-t
0")
'-t是延迟时间,0表示立刻关机
另一种就是使用API了,好像是ExitWindow,你可以去搜索一下其用法。
MessageBox里的Show里没有自动关闭的方法,但是你可以自定义一个MessageBox,MessageBox就是一个窗体,你新建一个窗体Form2,添加一个public属性message和一个定时器timer1,timer1的interval设置成你想要的时间,在Form2的Load事件启动timer1,Timer1_Tick事件里关闭窗口Me.Close(),然后在需要显示Messagebox的时候,在主窗口Form1里设置messge属性,然后用show方法弹出窗口就可以了。
Form1程序:(添加了一个Button1)
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim f2 As Form2 = New Form2
f2.Message = "提示"
f2.ShowDialog()
End Sub
End Class
Form2程序:(添加了一个Label1显示信息和一个Timer1用于计时,Form2可以自定义成你想要的样式,标题,按钮,窗体样式等)
Public Class Form2
'自定义属性 显示提示信息
Public WriteOnly Property Message As String
Set(value As String)
Label1.Text = value
End Set
End Property
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Me.Close()
End Sub
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Timer1.Interval=3000 '定时3秒关闭窗口
Timer1.Enabled = True
End Sub
End Class
代码已在VS2017测试通过。
加一个计时器控件Timer1
代码如下:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Timer1.Interval = 15000
Timer1.Start()
MessageBox.Show("程序将在15s后关闭.")
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Dispose()
End Sub
给你个方法,在软件加载时就判断下当前系统时间(最好是判断远程服务器上的时间,因为当前运行系统的时间他可以手动),判断当前时间是否有超过最后期限。。