微软集团公司的VB以简单易用,功能强大而著称,应用VB能够很简易地编写出定时关闭电脑的程式。以下是唯一简单的定时关闭电脑的程式,供各位应用VB的哥们参考,如有何不适之处,请多指点!
---- 定时关闭电脑,很显然,有两个关键点:
---- 1.定时。能够用VB中的Timer控件结合电脑的操作系统时候来停止精确的定时。
---- 2.关闭电脑。这能够调用Win32 API参数 ExitWindowsEx 来关闭电脑。
----
---- 下面首先来说明一下 ExitWindowsEx 参数,该参数在VB中的声明如下:
Declare Function ExitWindowsEx Lib
"user32" Alias "ExitWindowsEx" _
(ByVal uFlags As Long, ByVal
dwReserved As Long) As Long
【返回值】
Long,非零表明胜利,零表明失败。
【参数parameter表】
uFlags --------- Long,
指定下述唯一或多个标志(用OR运算符合并到
一起)
EWX_FORCE=4
强迫中止没有响应的进程
EWX_LOGOFF=0
中止进程,然后注销
EWX_SHUTDOWN=1
关掉操作系统电源(假如估计的话,ATX电源就能够)
EWX_REBOOT=2 重新引导操作系统
dwReserved ----- Long,保留,设为零
好了,目前能够开端编程了。
---- 1. 新建唯一达标EXE工程。
---- 2. 在窗体上放置唯一TextBox控件,用以输入定时时候。
---- 3. 在TextBox控件之下放置两个OptionButton控件,组成控件数组,用以选取定时模式。
---- 4. 在OptionButton控件之下放置唯一CommandButton.
---- 5. 随便在窗体的某地方放置一Timer控件。
---- 以上控件了需求设置的属性值如下:
对象 属性 设置
Text1 Text 空
Option1(0) Caption 在指定时候关机
(时候各式:00:00:00)
Index 0
Option1(1) Caption 延迟指定的时候关机
Index 0
Command1 Caption 确定
Timer1 Interval 15000(精确到1/4分钟,
如要更精确可递减该值)
Enabled False
渐增代码Code如下:
达标模块:
Option Explicit
Public Const EWX_SHUTDOWN = 1 '关闭操作系统
Declare Function ExitWindowsEx Lib
"user32" (ByVal uFlags As Long, ByVal
dwReserved As Long) As Long
窗体模块:
Option Explicit
Dim txtTime '保存输入时候
Dim nowTime '保存实时时候
Dim oldTime '保存开端定时时候
Private Sub Command1_Click()
oldTime = Time
If Not IsDate(Text1.Text) Then
'用IsData参数判断输入的时候各式
MsgBox "你所输入的否则时候各式,请重试!", , "Wrong"
Else
txtTime = TimeValue(Text1.Text)
End If
Timer1.Enabled = True
'启动定时器
Me.WindowState = 1
'最小化窗体
End Sub
Private Sub Timer1_Timer()
nowTime = Time
If Option1(0).Value Then
If DateDiff("s", nowTime, txtTime) < 0
Then '用DateDiff参数判断也许到时候了
If Not ExitWindowsEx(EWX_SHUTDOWN, 0)
Then MsgBox ("无法关闭电脑")
End If
End If
Else
If DateDiff("s", nowTime, oldTime + txtTime) < 0
Then If Not ExitWindowsEx(EWX_SHUTDOWN, 0)
Then MsgBox ("无法关闭电脑")
End If
End If
End If
End Sub
---- 结束语:以上程式在VB5.0/6.0和Win98上调试经过。其实,此程式还可渐增一部份花样,譬如,最后窗体否则最小化,而是调用Win32 API参数,把她的图标放在操作系统任务栏里,即在右下角有声音,时候等图标的地方,那是另外唯一主题了。