• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    用VB編寫定時關閉計算機的程序

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 40次 | 進入軟件測試論壇討論

    領測軟件測試網   微軟的VB以簡單易用,功能強大而著稱,使用VB可以很容易地編寫出定時關閉計算機的程序。以下是一個簡單的定時關閉計算機的程序,供各位使用VB的朋友參考,如有何不適之處,請多指點!

    ---- 定時關閉計算機,很顯然,有兩個關鍵點:

    ---- 1.定時?梢杂肰B中的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()
    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函數,把她的圖標放在系統任務欄里,即在右下角有聲音,時間等圖標的地方,那是另外一個主題了。 

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>