这次介绍的是如何利用Windows未公开函数实现系统文件操作监视功能
利用该功能可以对Windows下的任何文件操作,包括建立文件、文件夹;删除文件;改变文件大小等操作都可以纪录在案
首先来介绍实现上面操作的两个未公开函数:SHChangeNotifyRegister和 SHChangeNotifyDeregister,SHChangeNotifyRegister函数的定义如下: Declare Function SHChangeNotifyRegister Lib "shell32" Alias "#2" _ (ByVal hWnd As Long, _ ByVal uFlags As SHCN_ItemFlags, _ ByVal dwEventID As SHCN_EventIDs, _ ByVal uMsg As Long, _ ByVal cItems As Long, _ lpps As PIDLSTRUCT) As Long 其中参数hWnd指定接受系统通告的窗口句柄,参数uMsg指定消息值,如果函数调用成功,系统就会将hWnd指定的窗口加入到系统通告链中,并且返回系统通告句柄
当有建立文件等系统操作发生时,系统会向 hWnd指定的窗口发送 uMsg消息,关于其它参数,会在下面的程序中说明
函数SHChangeNotifyDeregister的定义如下: Declare Function SHChangeNotifyDeregister Lib "shell32" Alias "#4" _ (ByVal hNotify As Long) As Boolean 其中参数hNotify指定系统通告的句柄
下面是操作的具体的VB范例: 首先建立一个新的工程,在 Form1中加入一个 TextBox控件
在 Form1的代码窗口之中加入以下代码: Option E