给电脑装个监视器--VB编程一例
来源:互联网 发布:襄阳程序员工资 编辑:程序博客网 时间:2024/06/05 14:57
给电脑装个监视器--VB编程一例
--------------------------------------------------------------------------------
当你不在你的机器旁边时,你是否会担心有人在你的机器上运行了程序,给你的机器带来损坏;或有小孩子在你的电脑上“胡闹”。你是否想到设计一个监视系统的程序,可以发现有人在你的机器上运行了哪些不当的程序,或当有小孩子在你的机器上玩游戏时,立刻强制关闭游戏。读完了本文,你就可以着手去做了。
一、设置 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 环境下运行良好 。
- 给电脑装个监视器--VB编程一例
- 给电脑装个监视器--VB编程一例
- [VB.NET]给个建议
- 一台电脑如何装3个系统操作教程
- [VB.net]网络状态监视器[2012.2.23]
- [VB.net]网络状态监视器[2012.02.28]
- VB.NET实现Windows剪贴板监视器
- VB编程的8个小技巧
- VB-我的第一个编程
- 一台电脑安装多个操作系统
- 一台电脑安装多个tomcat
- 一台电脑安装多个tomcat
- 一台电脑安装多个tomcat
- 一台电脑安装多个tomcat
- 一台电脑启动多个tomcat
- 一台电脑安装多个JDK
- 一台电脑设置多个IP
- 一台电脑多个JDK
- XML的简单读取与写入
- 用VB制作即时动态按钮
- 使用正则表达式进行xml数据验证
- 用VB制作屏幕保护程序
- 使用XML HTTP发送超长XML表单数据
- 给电脑装个监视器--VB编程一例
- 用XML数据岛结合Dom制作通讯录
- VB5里面实现VB6的InstrRev()和Split()一样的替换函数
- 怎样快速从一个XML文件中查找信息
- 基于XML的购物车的实现
- 包含中文字符的URL编码问题
- 使用javascript xml实现分页
- 使用xml http为网站增加域名查询功能
- 用VB5 Winsock控件创建TCPIP客户机 服务器程序