Get the App
SLTechnology News&Howtos  ›  Development  › 

Example Analysis of FindFirstChangeNotification for VC++ File Monitoring

Shulou Source: shulou.com Published: 2022-06-03 16:03:19 11月14日 Update

Editor to share with you the FindFirstChangeNotification of VC++ file monitoring example analysis, I believe that most people do not know much about it, so share this article for your reference, I hope you will learn a lot after reading this article, let's go to know it!

Reason:

Because the last test of ReadDirectoryChangesW found that there could not be multi-level directory monitoring.

So try to use FindFirstChangeNotification to implement file monitoring.

Key code:

CFolderMonitorDlg* dlg = (CFolderMonitorDlg*) lParam; HANDLE hEvent;// monitoring handle CString path; / / Monitoring directory GetCurrentDirectory (MAX_PATH,path.GetBuffer (MAX_PATH+1)) HEvent = FindFirstChangeNotification (path,TRUE,FILE_NOTIFY_CHANGE_FILE_NAME | / / View any file name change FILE_NOTIFY_CHANGE_DIR_NAME in the specified directory | / / View any directory name change FILE_NOTIFY_CHANGE_SIZE in the specified directory | / / View the change FILE_NOTIFY_CHANGE_ATTRIBUTES of the specified file size) / / View the change of file attributes in the specified directory if (hEvent = = INVALID_HANDLE_VALUE) {ExitProcess (GetLastError ()); / / get error return 0;} while (TRUE) / / Loop Monitoring {DWORD nObj = WaitForSingleObject (hEvent,INFINITE) / / wait. Any action in the folder returns 0. Gu cannot know the specific action and which file has changed. If (nObj) {dlg- > m_edit.ReplaceSel ("the file has been modified by the virus\ r\ n");} dlg- > m_edit.ReplaceSel ("the file has changed, and there is no way to verify the specific changes\ r\ n"). / / continue to monitor if (FALSE==FindNextChangeNotification (hEvent)) {ExitProcess (GetLastError ()); return 0;}} return 0

Effect picture:

The above is all the contents of the article "sample Analysis of FindFirstChangeNotification for VC++ File Monitoring". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Tags: File monitoring directory article change example analysis content action not much code key reason handle size most properties effects effect file name Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno vpn MySQL NVidia MariaDB Redmi