说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB利用 窗口函数监视系统的运行情况(VB类)

HTML文档下载 WORD文档下载 PDF文档下载
VB利用 窗口函数监视系统的运行情况(VB类)
摘要 本文介绍了用窗口函数制作系统监视器的方法。用 VB5.0 编译并运行本文介绍的程序,可以监视系统正在运行的程序,并可根据您的要求关闭某些程序。
所用到的 API 函数 FindWindow、PostMessage
一、概述
当你不在你的机器旁边时,你是否会担心有人在你的机器上运行了某些程序(给你的机器带来损坏)或有小孩子在你的电脑上"胡耍"。你是否想到设计一个监视系统的程序,可以发现有人在你的机器上运行了哪些不当的程序,或当有小孩子在你的机器上玩游戏时,立刻强制关闭游戏。读完了本文,你就可以着手去做了。
二、设置 OnTimer 事件
要实现监视系统,首先要实现的是 OnTimer 事件,就是要站程序每隔一段时间去"检查"一下当前系统中有哪些程序在运行。
你可装截 Timer 控件,设置 Interval 属性,如:
Timer1.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 "呵呵,小子你又在偷玩游戏" 注释:如果在玩上面的3个游戏,则关闭游戏,并警告
End Sub
4.程序初始化
Private Sub Form_Load()
Timer1.Interval = 60000
Timer1.Enabled = False 注释:使时间控件失效
End Sub
5.时间控件的操作
Private Sub Timer1_Timer()
n = n + 1
If n = 2 Then CloseWin 注释:这里设置为每隔2分钟运行一次
End Sub
6.按"开始监视"按钮
Private Sub Command1_Click()
Timer1.Enabled = True 注释:激活时间控件,运行第 5 步的操作
End Sub
补充:在你按"开始监视"按钮后,可以再写一些代码,把你的程序隐藏或缩到任务栏上,当然这不是这一篇文章能写完的,这些功能就要各位自己去想想了。
7.程序结束
Private Sub Command2_Click()
End
End Sub

好了,一个简单的系统监视程序就做出来了。

最后的补充:如果想要做一个非常完整的系统监视程序,那么你可要花花时间了。
第1步:首先,修改注册表,在计算机启动时就运行本程序,并且不能关闭。
第2步:要调用 API 函数使本程序更隐蔽些。
第3步:还需要随时修改检测的"窗口标题"及当有人运行游戏程序时,把他玩游戏开始时间和玩得什么游戏,保存到文件中去等等功能吧。

本程序用 VB5.0 编译通过,在中文 Windows98 环境下运行良好 。
[CTO俱乐部第103期] 高德和四维图新技术高管谈地图导航的发展与挑战 Java 7爆最新漏洞,10年前的攻击手法仍有效 Twitter联合创始人Biz Stone谈Facebook用户体验 提倡零广告 英雄会:企业的人才漏斗 开发者的武林大会 一次错误估算带来的启示 苹果开发者中心被黑:开发者信息或被窃取 SIM卡加密存漏洞 将影响数亿计的手机用户 搜狗茹立云:探索引擎产品落地 浏览器+搜索模式会成主流吗? 大势所趋,IBM Acme Air至少使用Netflix的5个开源工具 【观察】跨越“朦胧期”的云计算:产业、核心技术、生态圈以及突破点 Rovio Account:平台化之路修成正果 甲骨文总裁马克•赫德采访实录:用软硬件集成一体机打垮对手 如何一步一步打造高可扩展性的应用程序? 用Java编程,请保持简洁! 从安全隐患带来的商机来看,Hadoop同样很美 三年增四倍:如今谷歌服务占北美互联网流量四分之一 决战低功耗?Intel明年推低功耗Xeon处理器 在软件架构上增加新功能的注意事项 90后的代码界“女神”李雪:在编程中找到自己的“灵魂” 大数据之路不乏荆棘,然则其中的机遇却高于一切 iPhone销量令人意外:苹果Q3财季净利69亿美元 同比下滑 励志:12位早起的IT大佬们让小伙伴们都惊呆了 独家:苹果5周年限免神作,BADLAND开发者访谈 10亿次订阅!苹果Podcast的里程碑 免费利器Unity 4.2正式发布 支持WP8、Win8和BB10 SDCC 2013:Pinterest首位中国籍工程师两场演讲议题确定 甲骨文公布中国首届“Duke选择奖”名单 Moco、X幻想、开源中国获奖 直接拿来用,10个PHP代码片段 编程的未来 数据将成为主角 OpenCL 2.0发布,带来更强悍的异构计算能力 代码审查方式大调查 辅助工具居首(信息图) 帮小弟一把,我仅有的36分了,各位 在vc中如何将字符串转化成其对应的ascii码?用什么函数? 天啊!!怎么办啊,救命啊 内存分配的一个小问题 无聊,散分。只给前面十个。 用image控件可以互相转换ico,bmp,jpg三种格式的图片吗? 请问哪有NGWS下载? ?有没有啊 以下程序的输出值是 哪位朋友知晓如果Table与DbGrid绑定后,如何实现非第一索引的排序。 请问MSDN有中文版的吗?我们这的全是英文版的 我的 Win2000 出大问题了,急盼各位大虾赐教 请问那里有VB.NET软件下载呀 什么delphi命令可以打开网页呢? 到底有没有人知道如何可以在panel中动态的调用frame或者是form呢? 哪里有windowsXP下载? 送我能给的最大分,请教很小的问题,中高手进 聊天请进(thinkingdog) 大家来谈谈 IBM都有些什么认证???什么认证现在比较吃香???谢谢!!! 打印数窗问题求助! 如何使用UrlDownloadtoFile下载文件使用进度条? 如何用在两次用getTime()中得到两个不同的时间。 一个类似于牛角尖的问题(多余的CONST),不能忽视,请各位高手详细说明!!谢谢! 怎样读写注册表,每次都不成功,气死我也~! 各位救命啊,用 TClientDataSet.Load XML 的问题。。。。 娃呀呀,pb8怎么这么难安装?jaguar组建就用了5分钟,regester window又用了10分钟,重启动后,还没完,偶不敢装了,把碟退了出来,大家是不是也这样?//牛虻 请教高手一个ado的问题. 请问一个TWebBrowser的问题 请问:系统崩溃后,找不到BOOT,系统告诉:DOS基本分区为格式化?无法引导启动! 在VB.NET的tabcontrol上放置AxMSFlexGrid控件问题,急 java3D 现在大家是用Oracle 8还是 Oracle 9??? C++问题求助! 请教一个错误的原因. 各位大侠请问Jeffrey Richter的windows核心程序设计是不是就是andvanced windows程序设计的第四版 SCJP里的那些什么300-020,020是什么意思啊? 请问一个关于document.write()方法的问题。急啊! 初学者,欢迎灌水。 Delphi6的Bug?不兼容? 为什么我用GetProfileString()却总是得不到结果 sos 请教各位大侠一个问题 delphi6中的installShield 请介绍接收端CRC校验传输内容是否正确的方法,资料或代码。谢谢! 各位大侠请问Jeffrey Richter的windows核心程序设计是不是就是andvanced windows程序设计的第四版? 谁会做软件狗?有钱赚了!!! 为什么我用QuickRep作的报表只能显示一条记录,而且columnHeaderBand上内容也显示不出来 请问在税务局开发数据库的同行么?? 大家好各位大侠请问Jeffrey Richter的windows核心程序设计是不是就是andvanced windows程序设计的第四版? 谁做过软件狗,马上来拿钱!!! 江苏省的成绩什么时候可以出来啊,我是徐州的 shockwaveflash没有hwnd,怎么办? 上午12时在太阳光下的影子最长吗? 油为什么能穿透塑料袋为什么塑料袋没破 而且油还能穿透塑料袋弄的桌面上油都是油呢? 干冰能够人工降雨原理是什么? 如何利用太阳光下的影子测量旗子的高度啊?怎么利用太阳光下的影子测旗杆的高度? 一个正方体在太阳光照射下有几种形状 将干冰用于人工降雨的原理是什么? 请问这个焊接符号圆圈里的43是什么意思? 升华过程要吸热,有什么作用? 正午的时候 太阳在你的什么方向 影子又在什么方向说下why 机械制图中焊接符号的表示法 用塑料袋炸出的油叫什么做油. 太阳升起与太阳落下时影子最( ),但方向( ),正午时影子最( ). 形成西伯利亚地区大面积沼泽地的原因有多种,除了河水泛滥外,还可能有什么原因? 怎么做塑料除油剂配方才能改进?怎么做塑料除油剂配方才能改进,找哪家公司做比较好呢,最好设备什么的好点? 用“正午太阳偏南,物体的影子指北”来判断方向,只要正午可以见到太阳,那么任何时候都符合上述规律的地区是A.全球各地B.南半球中纬度地区C.北半球纬度地区D.北半球下列词语,从地质学观 西西伯利亚平原的沼泽是怎么形成的 俄罗斯联邦为什么不把中国元朝时期就属于中国的领土:西伯利亚、外蒙古、等地,归还中国统治呢?为什么不把中国元朝时期就属于中国的领土:西伯利亚、外蒙古、 库页岛、唐努乌良海、 北京旗杆正午时的影子方向是()8月8日 影子的方向和太阳的位置的关系太阳的变化 来的 中国和俄罗斯为什么不容易被分裂?我没有分裂中国的意思,我想问的是中国和俄罗斯都是多民族的国家,为什么这两个大国不容易分裂呢? (初二物理题)干旱时,要实施人工降雨必须具备什么样的天气条件?实施人工降雨时常向高空抛撒干冰,请问干冰的作用是什么? 阳光下任何( )的物体都有影子,影子都在( )的一面,在同一时刻,同一地点,直立的物体的影子方向都?阳光下任何( )的物体都有影子,影子都在( )的一面,在同一时刻,同一地点,直 俄罗斯中西伯利亚高原为什么没有东西伯利亚山地高? 压力容器新的分类方法新容规说的你这是旧的容规 在一天当中,物体在太阳光下的影子的方向是如何变化的 用牛奶做隐形墨水的原理在白纸上用牛奶写字,写完后风干,再用打火机,在纸下面烤一下,字便显现出来.但是白纸的替他地方却没有被烤过的任何痕迹.请问这里面用了牛奶的什么原理,请详细讲 为什么牛奶滴进醋里会变成那样?你去试试? 为什么上午太阳光下物体的影子方向应为北偏西 为什么牛奶盒是长方形的?有什么原理吗? 西伯利亚地区有哪些民族,为什么苏联解体了,俄罗斯联邦还存在呢?为什么不把中国元朝时期就属于中国的领土:西伯利亚、外蒙古、 库页岛、唐努乌良海、新疆西北等地,归还中国统治呢? 用什么胶可以把塑料画现在漆墙上?就是白墙 压力容器的等级是怎么划分的什么是一类.二类.三类 久旱无雨时,人们就要实施人工增雨——在云层中撒些干冰,达到人工降水.试解释这么做的道理. 焊接符号表示方法 压力容器是如何分类的 久旱无雨时,人们就要实施人工降雨——在云层中撒些干冰,达到人工降雨,能解释这么做的道理吗?干冰即(固体二氧化碳) 焊接符号怎么表示? 现行压力容器分类标准是什么时候开始执行的 当把干冰撒在空中时,干冰进入云层,很快什么为气体. 为什么在太阳光照射下,人在地面上的影子早晚长,中午短? 这个是表示什么焊接符号呀 历史爱好者们,西伯利亚在元朝管辖时说何种语言?(肯定不再是现在的俄罗斯语言了) 眼睛被太阳光照射到有影子被太阳强光反射到 求焊件符号的表示图纸焊件符号表示的意思. 元朝属不属于中国rt 布朗运动是液体颗粒运动还是固体颗粒运动?那 “布朗运动是悬浮在液体中的固体颗粒分子无规则运动的反映”哪错了? 这个焊接符号是啥意思?请指点. 牛奶:纸袋的和塑料袋的有什么不同包装不一样营养成分也不一样吗?请详细说明. 悬浮在液体中的大颗粒固体会做布朗运动吗 太阳光下AC与A'C'是平行的,同一时刻的2根相同高度的木杆在太阳光照射下的影子一样吗?说说你的理由.要过程(初一下学期第五章三角形的复习题)最好有证明 一天中太阳各个时间段的朝向,在什么地方,早上,中午,下午各个时间段的影子是朝哪的,注意各个时间段. NAOH做电解液,连接好铝和镁组成原电池,正极和负极电子式分别是什么,为什么 某一时刻测的一根竹竿的影子是这根竹竿的两倍长那么此时的太阳光与地面成多少度角? 早上,中午,下午哪个时间你的影子最长 镁和铝插入NAOH溶液中连接成原电池 铝表面有氧化膜为什么不必处理氧化铝和NAOH反应不是氧化还原啊 怎么构成原电池 如图,太阳光线AC与A‘C‘是平行的,同一时候两根高度相同的木杆在太阳光照射下的影子一样长吗?说说你的理由 压力容器的分类? 在同一时刻两根木杆在太阳光下的影子如图所示,其中木杆ab=2米,它的影子bc=1.6米,木杆pq的影子又一部分落在了墙上,qm=1.2米,mn=0.8米,求木杆pq的长度 正方体在太阳底下的影子成什么图形? 液氮或干冰增雨的原理是什么?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn