C++中怎么监视文件的删除,修改和添加?

来源:百度知道 编辑:UC知道 时间:2024/05/15 23:41:39
不用.net framework, C++中怎么监视文件的删除,修改和添加?

FindFirstChangeNotification
FILE_NOTIFY_CHANGE_FILE_NAME
文件被创建,重命名,删除的时候会触发事件
函数具体怎么使用可以查看MSDN

使用下面三个函数,如:
FindFirstChangeNotification( );
FindNextChangeNotification( );
WaitForSingleObject( );

有关代码:
DWORD dwWaitStatus;
HANDLE dwChangeHandle; //返回通知的句柄
dwChangeHandle=FindFirstChangeNotification(
“C:\\PWIN98”,false,FILE_NOTIFY_CHANGE_FILE_NAME); //设置返回通知的句柄
if(dwChangeHandle==INVALID_HANDLE_VALUE)
//判断是否设置成功
ExitProcess(GetLastError( ));
while(true){ //设置循环,监视是否有
dwWaitStatus=WaitForSingleObject(dwChangeHandle,-1); //通知返回
switch(dwWaitStatus){
case 0:
MessageBox(NULL,"Something Changed", "Warrning", MB_OK); //给出提示
FindCloseChangeNotification(dwcChangeHandle); //关闭句柄
exit(EXIT_SUCCESS); //退出程序
default:
ExitProcess(GetLastError( ));
}
}