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

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

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

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

    給電腦裝個監視器

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

    領測軟件測試網   當你不在你的機器旁邊時,你是否會擔心有人在你的機器上運行了程序,給你的機器帶來損壞;或有小孩子在你的電腦上“胡鬧”。你是否想到設計一個監視系統的程序,可以發現有人在你的機器上運行了哪些不當的程序,或當有小孩子在你的機器上玩游戲時,立刻強制關閉游戲。讀完了本文,你就可以著手去做了。

      一、設置 OnTimer 事件

      要實現監視系統,首先要實現的是 OnTimer 事件,就是要程序每隔一段時間去“檢查”一下當前系統中有哪些程序在運行。

      你可裝載 Timer 控件,設置 Interval 屬性為“60000”

      這樣系統差不多會每隔1分鐘就會“檢查”一下當前系統有哪些程序正在運行。

      如果你覺得間隔時間太短,可以改用如下代碼:

      Private Sub Timer1_Timer()

      Dim n As Integer

      n = n + 1

      If n = 2 Then″檢查″ ′這里設置為2分鐘,你可自己改

      End Sub

      二、監視系統的運行

      接下來的問題是怎樣去“檢查”當前系統中有哪些程序在運行。

      方法一:我們知道,Windows 程序基本上都是以窗口的形式運行的,每個程序都對應一個主窗口和若干子窗口,我們只要用 API函數 GetWindow 獲取每個程序的主窗口的句柄 HWND,接著用 API 函數 GetWindowText 得到這些窗口的標題,就可以判斷到底是哪些程序在運行了。

      方法二:使用 API 函數 FindWindow 直接查找

      我們這里就用方法二(比較簡單)。

      三、關閉程序

      發現不適當的程序,關閉它,可以用 API 函數 PostMessage。

      四、程序示例

      下面給出一個實例,它是用 VB 5.0 編制而成的。本程序每隔 2 分鐘“檢查”一下窗口。如果運行的是“掃雷”、“紅心大戰”等游戲,就強行關閉它,并發出警告。具體程序代碼如下:

      1、建立基于對話框的應用程序,標題為“系統監視器”,裝載 2 個 CommandButton 控件,Caption 屬性分別為:“開始監視”、“程序結束”。

      2、首先聲明API 函數 FindWindow 及程序所需要的各變量

      Private Declare Function FindWindow Lib ″user32″ Alias ″FindWindowA″(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

      Private Declare Function PostMessage Lib ″user32″ Alias″PostMessageA″ (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

      Const WM-CLOSE = &H10

      Const WM-QUIT = &H12

      Dim Handle As Integer

      Dim n As Integer

      3、定義關閉程序窗口的子程序

      Sub CloseWin() ′關閉指定窗口

      Dim WinText(1 To 3) As String

      Dim i As Integer

      WinText(1) = ″掃雷″  

      ′關閉下面的3個游戲,各位可以自己定義,不過程序窗口的標題一定要對,不然程序是不會被關閉的。

      WinText(2) =″Microsoft 網上紅心大戰″

      WinText(3) = ″紙牌″

      For i = 1 To 3

      Handle = FindWindow(vbNullString, WinText(i))

      PostMessage Handle, WM-CLOSE, 0, 0

      Next

      If Handle <> 0 Then MsgBox ″呵呵,你又在偷玩游戲″  

      End Sub

      最后的補充:如果想要做一個非常完整的系統監視程序,那么你可要花些時間了。

      第1步:首先,修改注冊表,在計算機啟動時就運行本程序,并且不能關閉。

      第2步:要調用 API 函數使本程序更隱蔽些。

      第3步:還需要隨時修改檢測的“窗口標題”,當有人運行游戲程序時,把他玩游戲開始時間和玩得什么游戲,保存到文件中去等等功能。

      本程序用 VB 5.0 編譯通過,在中文 Windows 98 環境下運行良好 。  

    延伸閱讀

    文章來源于領測軟件測試網 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>