delphi监控文件系统

delphi监控文件系统

ID:30767317

大小:87.05 KB

页数:9页

时间:2019-01-03

delphi监控文件系统_第1页
delphi监控文件系统_第2页
delphi监控文件系统_第3页
delphi监控文件系统_第4页
delphi监控文件系统_第5页
资源描述:

《delphi监控文件系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、你是否想为你的Windows加上一双眼睛,察看使用者在机器上所做的各种操作(例如建立、删除文件;改变文件或口录名字)呢?这里介绍一种利用Windows未公开函数实现这个功能的方法。在Windows卜'有一个未公开函数SHChangeNotifyRegistcr可以把你的窗口添加到系统的系统消息监视链中,该函数在Delphi中的定义如2FunctionSHChangcNotifyRcgistcr(hWnd,uFlags,dwEvcntID,uMSG,cltcms:LongWord;lpps:PIDLSTRUC

2、T):integer;stdcal1;external'Shcll32.dll'index2;其中参数hWnd定义了监视系统操作的窗II得句柄,参数uFlagsdwEvcntID定义监视操作参数,参数uMsg定义操作消息,参数cltcms定义附加参数,参数lpps指定一个PIDLSTRUCT结构,该结构指定监视的目录。当函数调用成功Z后,函数会返回一个监视操作句柄,同时系统就会将hWnd指定的窗口加入到操作监视链屮,当有文件操作发生时,系统会向hWnd发送uMsg指定的消息,我们只耍在程序中加入该消息的处理

3、函数就可以实现对系统操作的监视了。如果要退出程序监视,就要调用另外一个未公开得函数SIlChangcNotifyDcrcgister來取消程序监视。卜•面是使用Delphi编写的具体程序实现范例,首先建立一个新的工程文件,然后在FormlH1加入一个Button控件和一个Memo控件,程序的代码如下:unitUnitl;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,shlobj,

4、Activex,StdCtrls;constSIICNE_RENAMEITEM=$1;SHCNECREATE=$2;SI1CNE_DELETE=$4;SHCNEMKDIR=$8;SI1CNE_RMDIR=$10;SHCNEMEDIAINSERTED=$20;SIICNEJ1EDIAREM0VED=$40;SHCNEDRIVEREMOVED=$80;SI1CNE_DRIVEADD=$100;SHCNENETSHARE=$200;SIICNE_NETUNSHARE=$400;SHCNEATTRIBUTES=$8

5、00;SI1CNE_UPDATEDIR=$1000;SHCNEUPDATEITEM=$2000;SIICNE^SERVERDISCONNECT=$4000;SHCNEUPDATEIMAGE=$8000;SIICNE_DRIVEADDGUI=$10000;SHCNERENAMEFOLDER二$20000;SIICNE—FREESPACE=$40000;SHCNEASSOCCHANGED=$8000000;SI1CNE_DISKEVENTS=$2381F;SHCNEGLOBALEVENTS=$C0581E0;S

6、I1CNE_ALLEVENTS=$7FFFFFFF;SHCNEINTERRUPT=$80000000;SI1CNF_IDLIST=0;//LPITEMIDLISTSI1CNF_PATI1A=$1;//pathnameSI1CNF_PRINTERA=$2;//printerfriendlynameSI1CNFDWORD=$3;//DWORDSHCNFPATHW=$5;//pathnamcSHCNFPRINTERW=$6;//printerfricndlynamcSHCNFTYPE=$FF;SIICNF_FLU

7、SI1=$1000;SHCNFFLUSHNOWAIT=$2000;SIICNF_PATII=SI1CNF_PATIIW;SHCNFPRINTER=SHCNFPRINTERW;™_SI(NOTIFY=$401;NOERROR=0;typeTForml=class(TForm)Buttonl:TButton;Mcmol:TMcmo;procedureFormClose(Sender:TObject;vatAction:TCloseAction);procedureButtonlClick(Scndcr:TObj

8、cct);private{Privatedeclarations}publicprocedureWMShcllRcg(varMessage:TMcssagc);messageWM_SIINOTIFY;{Publicdeclarations}end;typcPSIINOTIFYSTRUCT二八SIINOTIFYSTRUCT;SHNOTIFYSTRUCT=recorddwltcml:PItemIDList;dwltc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。