利用未公开函数实现Shell操作监视
日期:2007年5月18日 作者: 查看:[大字体 中字体 小字体]-
在Windows下有一个未公开函数SHChangeNotifyRegister可以吧你的窗口添加到系统的系统消息监视链中,该函数在Delphi
中的定义如下:
Function SHChangeNotifyRegister(hWnd,uFlags,dwEventID,uMSG,cItems:LongWord;
lpps:PIDLSTRUCT):integer;stdcall;external 'Shell32.dll' index 2;
其中参数hWnd定义了监视系统操作的窗口得句柄,参数uFlags dwEventID定义监视操作参数,参数uMsg定义操作消息,参数cItems
定义附加参数,参数lpps指定一个PIDLSTRUCT结构,该结构指定监视的目录。
当函数调用成功之后,函数会返回一个监视操作句柄,同时系统就会将hWnd指定的窗口加入到操作监视链中,当有文件操作发生
时,系统会向hWnd发送uMsg指定的消息,我们只要在程序中加入该消息的处理函数就可以实现对系统操作的监视了。
如果要退出程序监视,就要调用另外一个未公开得函数SHChangeNotifyDeregister来取消程序监视。
下面是使用Delphi编写的具体程序实现范例,首先建立一个新的工程文件,然后在Form1中加入一个Button控件和一个Memo控件,
程序的代码如下:unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,shlobj,Activex;const
SHCNE_RENAMEITEM = $1;
SHCNE_CREATE = $2;
SHCNE_DELETE = $4;
SHCNE_MKDIR = $8;
SHCNE_RMDIR = $10;
SHCNE_MEDIAINSERTED = $20;
SHCNE_MEDIAREMOVED = $40;
SHCNE_DRIVEREMOVED = $80;
SHCNE_DRIVEADD = $100;
SHCNE_NETSHARE = $200;
SHCNE_NETUNSHARE = $400;
SHCNE_ATTRIBUTES = $800;
SHCNE_UPDATEDIR = $1000;
SHCNE_UPDATEITEM = $2000;
SHCNE_SERVERDISCONNECT = $4000;
SHCNE_UPDATEIMAGE = $8000;
SHCNE_DRIVEADDGUI = $10000;
SHCNE_RENAMEFOLDER = $20000;
SHCNE_FREESPACE = $40000;
SHCNE_ASSOCCHANGED = $8000000;
SHCNE_DISKEVENTS = $2381F;
SHCNE_GLOBALEVENTS = $C0581E0;
SHCNE_ALLEVENTS = $7FFFFFFF;
SHCNE_INTERRUPT = $80000000;SHCNF_IDLIST = 0; // LPITEMIDLIST
- [1] [2] [3] [4] [5] [6] 下一页
-
- 利用未公开函数实现Shell操作监视 相关文章:
- 利用未公开函数实现Shell操作监视 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:日历函数单元
下一篇:男生一生必玩十个游戏!你玩过几个
精品推荐
热点TOP10
- ·MySQL中文参考手册5(安装MySQL上)
- ·认识VF--Visual FoxPro 漫谈
- ·MySQL数据库学习手册之MySQL客户工具和API
- ·改进的socket控件
- ·用于 SELECT 和 WHERE 子句的函数
- ·SQLSERVER中,数据库同步的实现
- ·ORACLE之常用FAQ V1.0
- ·数据库连接字符串大全
- ·精妙SQL语句收集
- ·一道褒贬不一的SQL考试题
- ·IIS5 ISAPI Extension Back Door
- ·MS-SQL开发常用汇总和t-sql技巧集锦
- ·如何删除数据库中的冗余数据(翻译)
- ·实用的存储过程之一
- ·SQL2000 数据库安装说明
- ·MySQL中文参考手册7(MySQL存取权限系统)grant设置密码password
- ·DM分区软件使用详解
- ·MySQL语言参考(4):数据操纵
- ·Delphi程序执行时实时生成报表
- ·SQL Server 练习题
特别推荐
- ·数据库查询优化
- ·MySQL常见错误问答!
- ·MySQL从后门进企业市场
- ·精妙SQL语句收集
- ·如何在WinNT/2K/XP下启动纯DOS
- ·自己动手做一个SQL解释器
- ·SQL SERVER实用技巧
- ·动态创建MSSQL数据库表存储过程
- ·数据库的分页问题
- ·DM分区软件使用详解
- ·对ADSL接入方式铜缆可用线对率分析
- ·收集的host文件网站黑名单
- ·修复SQL Server 2000数据库之实战经验
- ·实用的存储过程之一
- ·IIS5 ISAPI Extension Back Door
- ·MySQL中文参考手册7(MySQL存取权限系统)grant设置密码password
- ·Sql server 如何得到汉字的声母
- ·数据库物理设计经验谈
- ·SQLPLUS命令的使用大全
- ·通过ISA代理SQLServer配置说明
