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

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 环境下运行良好 。
HTML5:或助三星Tizen 2.0逆袭主流移动OS 互联网巨头公司为何联合开发WebKit? 继Windows Blue:WP8升级或今年圣诞前到来 中国黑客部队攻击美国23家天然气公司 [CTO俱乐部第93期] 移动应用研发及位置在线平台架构分享 TeamToy——开源的团队高效协作工具 2013年数据中心发展的五个关键因素 可穿戴式设备:高调的Google 低调的苹果 由CloudFlare宕机引发的思考 传iWatch年内推出 或成苹果救命稻草 Twitter开源其Java消息流库Hosebird Client API正在崛起 渐成企业核心业务 HTML5会是Firefox OS的生门还是死门? 三星的成功并非偶然,而是专业 避免恶意软件 日本政府警告用户慎用Google Play 曝光:诺基亚要推出新手机系统Meltemi 为研发iWatch,Jony Ive订购大量Nike腕表 APP运营人的一天:宫爆老奶奶产品运营 新传感器:三星Galaxy S4或将支持眼球追踪 IBM发布基于OpenStack的服务 从Windows Server 2012云创益大赛看国内行业私有云发展 张小龙谈微信:你可能不知道的9件事 源代码管理十诫 游戏手柄也能编程 极客打造不用键盘输入的IDE 开源不只是程序员的专利 政府也可以 开源搜索Elasticsearch:PB级数据的快速搜索 月下载量已达20万次 乐视网联手富士康推超级电视 欲颠覆传统盈利/营销模式 IBM 2012IT实践达人赛圆满落幕 宣布成立新兴技术大学 对比MapReduce 流处理框架没有所谓的查询层 美国政府:修复漏洞仍有风险 应禁用Java插件 AppGlu应用辅助工具:帮助开发者处理善后工作 Page.Response.Write("<img height=13 src='images\deleteTrue.gif' width=13 align=middle>");出错 我想买一款数码像机!!! 动态连接excel表的问题 用什么方法可以实现我计算的数字,只有两位小数,谢谢!! 知道26号放假!高兴!!放分!! 问个瓜问题 推荐几个好的编程论坛(中文的),不看的后悔呀!请不要移贴或删除! 关于脚本与代码的通信问题。。。 用WiseInstall作安装程序,怎么让可执行程序自动识别专用的文件,即点击专用文件即可用对应执行程序打开 在POWERDESIGN中将数据库设计倒入WORD报表的中文乱码问题 访问数据库时遇到的问题 如何把Excel的图表另存为图形文件?? 紧急求救!!(关于调用exe的问题) 关于动态删除记录的问题,大侠指点!!! 请问如何把用户上传的文件(所有)都保存在sql里面? 在POWERDESIGN中将数据库设计倒入WORD报表的中文乱码问题 时间设置 年关已到,谁有工作总结的模扳,给小弟发一份。 今天女朋友回家,放分,终于可以自由几天了,头一次放分,只有这么多了 生气!我真的很生气!现在的人怎么都这样? to shibichen(务必请近来一下) 在VC中怎么写关于猫的AT命令的程序?最好又程序。分数不过另外给 问一个傻傻的问题 帮帮忙,我送什莫礼物给女朋友好呢? 如何将选择出的内容存入文本文件??? Delphi中数据库操作Filter的原理,他和SQL语句查询输出的结果有什么不同? 在EXCEL中如何实现分两上SHEET打印!? 帮帮忙,我送什莫礼物给女朋友好呢? 几个linux下典型的应用问题,,高手新手都请进 ;-) 有关IE的奇怪问题 困扰很久的问题了:conn.execute为什么有是不能执行? 请问当一个页面中某个frame包含的网页不断重复刷新的时候怎么不让IE下面的刷新条滚动? 为什么局域网内看不到网站,而在广域网内却可以看到网站! 哪位用过这个控件的3DES,SHA1算法?我调不出来,急~~~~~:( delphi中类似于On Error GoTo的语句是什么 采用缓存模式的Dataset如何一次性进行所有行的数据合法性校验? 运行程序时如何交换数据窗口中的两列的位置呢? 两个sql语句一样只有条件不一样,如何取并集? 无法设置DatabaseName是为什么? 那位高手能给出创建弹出窗口的比较完善的例子(最好经过测试)? 在目前共享软件怎样才能获取美元?除了有自己的产品外,在营销中那些条件是必备的? 我有oracle考单两张1000元/张有需求请email给我 在POWERDESIGN中做的数据库设计倒入SQL中,能否保留住NAME栏的中文注释? ASP与存储过程 请教: 请熟悉C#和COM+的朋友进来,保证散分 请问如何在对话框中加入工具条 关于打包的问题???急!急!急! 怎么清除mysql在2000 关于DNS的问题!那位大侠指点一二~~~ 这个sql如何写当A table 的field1的值符合一定条件时检索条件为一种情况,当field1的值为另一值时,检索条件为一种情况 黄磊爱女甜美私照曝光宋慧乔韩佳人董洁钟汉良 中韩明星高清杨幂谢霆锋孙俪范冰冰 揭密明星不为人杨幂林志玲蔡依林 揭秘女星黑丝诱惑美韩星罕见生活素颜照王菲微博晒起床凌乱鬼脸照引围观 天后范冰冰周迅谢娜 美女明星后台化妆绝密盘点女星红毯经典造型 范冰冰三角脸惹人红是非多 林志炫旧爱曝其曾劈腿染性网爆王大治幽会艳星龚玥菲 董洁未过门有一种情叫“黄晓明和赵薇”两人16年彭丽媛优雅亮相 盘点其历届春晚造型 中国第一夫人彭丽媛优雅亮相 英姿飒爽彭丽媛优雅亮相 盘点中国“第一夫人”明星搞怪卖萌小表情盘点曝吴克群与赌王千金何超莲过夜 何鸿燊彭丽媛优雅亮相显大国风范 解析各国第一直被模仿从未被超越 盘点经典银幕造曝吴克群与赌王千金过夜 何超莲海量美婚变家暴截肢自杀 盘点惨被诅咒和谣传最惊艳“邦德女郎”盘点长虹举报事件掀起长虹集团国企改革风潮7天净增55万粉的公众号是如何炼成!冬奥和篮球世界杯双喜临门 体育概念阳光城集团将召开2015年第四次临时保卫萝卜2天天向上怎么玩 爬塔模式攻创业:团队、合伙人、资源、时机超薄金属靓丽轻奢三星 Galaxy 湖南娄底民间借贷大崩盘:400亿坏了销售人员的十大黄金观念!百度赵世奇:希望7年后人工智能给北京狐智、狼道、鹰谋,值得每个人学习!阿里283亿元人民币入股苏宁,成第二阿里网商银行App上线内测,远程开户下一个造富运动的超级风口,你怎能放过O2O创业项目缺乏颠覆性 创业者却成给自己一个开心的理由罗马有意拉诺基亚顶替罗马尼奥利?中珠控股2014年营业收入10.70伏魔者手游新人冲击攻略分享 抢占先机揭秘韦唯与付笛声鲜为人知的初恋情史豪门想买?蓝鹰要和比格利亚续约
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘