监视程序的编制

监视程序,这个名字听起来似乎很陌生。它的用途主要是在后台监视系统中关键信息的改变,比如注册表的改变及硬盘上由于文件操作引起的改变等等。

也许有人会问了,编制这样的程序有什么价值呢?硬盘上文件改变了,我只要在资源管理器里点一点不就全都清楚了吗?问题当然不会这样简单,如今大家的硬盘都已经用G来做单位了,一块4.3G的硬盘中,大大小小的文件全都加起来也会有若干万(相信新购机的朋友会考虑IBM10.1G的大硬盘,那文件数量将更加不可想象),更何况那些看不见的系统文件和隐藏文件了。再加上注册表,那其中的条条款款,数量也丝毫不逊于硬盘上的文件。要想随时知道自己机器是否有所变动,绝对不是一件很轻松的事。而监视程序就可以随时检测到这些变化,帮助我们了解这些情况。

当然这只是监视程序的一部分作用,它最大的作用就是可以记录下某个软件安装前后系统的改变,从而为卸载这个软件提供重要的依据。虽然Windows自带了一个Uninstall Shield,但是它似乎并不能很干净地把原来的软件卸掉,每次卸载总会留下一些讨厌的残渣,致使系统中的垃圾信息不断增长,我们的硬盘空间也总是莫名其妙地越用越少。因此,一些号称能够完全卸载软件的专用卸载工具应运而生。在这其中,有一些就运用了监视系统的技术,比如Uninstaller Manager和RegMonitor。

下面我们开始讨论如何编程实现这一监视功能。首先介绍几个重要的api函数:

FindFirstChangeNotification( );

FindNextChangeNotification( );

WaitForSingleObject( );

其中FindFirstChangeNotification(lpzpath,fwatchsubtree,fdwfilter)中的lpzpath表示要监视的路径名,fwatchsubtree判断是否查看子目录,fdwfilter为要监视的事件,函数执行成功后返回一个句柄。

时间: 2024-10-30 14:45:12

监视程序的编制的相关文章

plc tcp编程-plc编程的程序图编制程序

问题描述 plc编程的程序图编制程序 有ABC三组喷头,启动后,A组先喷5秒,然后BC同时喷,A停,5秒后B停,而AB又喷,再2秒后,C也喷,持续5秒后全部停喷,再过3秒重复前述过程 解决方案 怎么简单的程序都不能写?是三菱的PLC用STL和RESET指令就好了

监视程序-freasmman急需C#大神帮助

问题描述 freasmman急需C#大神帮助 我是新入职的菜鸟一枚,在C#这块刚刚接触,项目经理给我分配了任务叫我做一个winform的监视程序,可以显示出在计算器中操作log的时候的信息,方法的话可以选择用进程间通讯 网络通讯或者共享文件,求各位兄弟姐妹,各路大神帮帮忙指点迷津,小弟在这里给你们跪谢了啊.

c#-C#写一段监视程序,求大神指教

问题描述 C#写一段监视程序,求大神指教 当计算器点击log时,监测程序检测到信息,并在form窗口上显示出计算器点击的信息,求大神指教,谢谢 解决方案 参考spy++的代码,拦截wm_mousedown消息

用java程序监视mysql的变化。求方法

问题描述 求一个java程序监视mysql的变化 的代码.因为在听说监视不到mysql.所以,用了数据库的自我的一个监视程序.当数据库发生变化的时候的.mysql_log_update.000001 这个文档发生了变化.所以我建立了一个java监视文件的程序,但是mysql_log_update.000001 这个文档发生了变化 确监视不到.其他的文件确能监视到.就解.或者求一个java程序监视mysql的变化 的代码.: 解决方案 我觉得你可以用java定时器或者spring quratz,没

让ASP程序运行于非Windows平台

window|程序 自从Micorsoft推出ASP技术后,由于ASP在创建动态交互式站点上的强大功能及其代码编写的简便性,使ASP在越来越多的Internet/Intranet/Extranet网站上得到了极其广泛的应用,尤其是涉及数据库操作的网站应用系统更是倾向于采用ASP技术.但由于众所周知的原因,ASP只能工作于Microsoft的Windows NT平台+IIS Web Server服务器软件, 在Windows9X+PWS也能使用,但那只能是调试或者学习用的,因而就决定了ASP应用的

用PHP构建一个简易监视引擎

摘要:在本文中,让我们共同探讨基于PHP语言构建一个基本的服务器端监视引擎的诸多技巧及注意事项,并给出完整的源码实现. 一. 更改工作目录的问题 当你编写一个监视程序时,让它设置自己的工作目录通常更好些.这样以来,如果你使用一个相对路径读写文件,那么,它会根据情况自动处理用户期望存放文件的位置.总是限制程序中使用的路径尽管是一种良好的实践:但是,却失去了应有的灵活性.因此,改变你的工作目录的最安全的方法是,既使用chdir()也使用chroot(). chroot()可用于PHP的CLI和CGI

程序员眼中的Flash MX2004(1)

程序|程序员 对于做动画.MTV.Web Design之类的Designer,Flash 5已经绰绰有余:对于开发RIA的Developer,Flash MX在协同工作.源文件和代码管理上是非常差的.即将推出的Flash MX 2004中的编程特性有很大突破,令人有耳目一新的感觉,Developer甚至可以掉去Tool Bar绘图工具和Timeline.下面我们就单纯从编程方面来看看Flash MX 2004的新特性. 一.Flash Player 7 在性能方面,根据Macromedia网页资

VB.NET中监视文件夹的变化

摘要 :        有时候,处于业务的需要,我们要不断的监视文件的变化,比如文件的创建.删除.重命名等:而且某些人要确保重要文件的只读,并且要及时的报告文件版本的变更情况.或者,你想监视你的文件夹被别人更改.肆意删除而又不知道是谁干的,在什么时候干的?于是你就考虑要写一个监视程序,"偷偷的"记录文件夹被操作的情况.        有些人采取常规的方式,即写一个桌面应用程序,其界面可能是隐藏的.采用每隔一个事件片段读取文件信息,然后写到一个log文件中.然后设置系统启动的事件自动加载

C# Builder 实现POP3信箱的监视

Borland的C# Builder是一个基于C#语言的编程工具,C# Builder允许开发者用Java或CORBA工具开发,C# Builder同时也具有从多种数据库中读取数据的能力,可以混合和适应不同开发标准的能力.本文向大家介绍怎样用Borland C# Builder编写一个信箱监视程序, 程序主要是通过WinSock来进行网络通信.要实现这个程序,应对POP3协议有一定的了解,下面是对POP3协议的一个粗略的介绍,读者可以参看RFC 1225更为详细地了解该协议. 一.POP3协议简