用VB编写定时关闭计算机的程序VB -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    用 VB 编写定时关闭计算机的程序 上海船舶电子设备研究所 洪杭迪 ---- 微软的VB以简单易用,功能强大而著称,使用VB可以很容易地编写出定时关闭计算机的程序,

用VB编写定时关闭计算机的程序VB

。以下是一个简单的定时关闭计算机的程序,供各位使用VB的朋友参考,如有何不适之处,请多指点! ----

   

   

    用VB编写定时关闭计算机的程序

    上海船舶电子设备研究所

    洪杭迪

    ---- 微软的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,非零表示成功,零表示失败。

    【参数表】

    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

    增加代码如下:

    标准模块:

    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()

    ldTime = 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上调试通过,

电脑资料

用VB编写定时关闭计算机的程序VB》(https://www.unjs.com)。其实,此程序还可增加一些花样,譬如,最后窗体不是最小化,而是调用Win32 API函数,把她的图标放在系统任务栏里,即在右下角有声音,时间等图标的地方,那是另外一个主题了。

    原文转自:http://www.ltesting.net

最新文章