Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version
Go to top

CDirectoryChangeWatcher - ReadDirectoryChangesW all wrapped up

, 11 May 2002
This class wraps up ReadDirectoryChangesW.
cdirectorychangewatcher-05-12-2002_demo.zip
DirWatcher.dsp
DirWatcher.dsw
DirWatcher_ScreenShot2.jpg
SetFiltersDlg.jpg
TestPatterns.bmp
res
DirWatcher.ico
cdirectorychangewatcher-05-12-2002_src.zip
cdirectorychangewatcher-11-24-2001_src.zip
demowatcher.zip
DirWatcher.exe
DirWatcherU.exe
directorychangewatcher_demo.zip
DirWatcher.clw
DirWatcher.dsp
DirWatcher.dsw
DirWatcher.ico
DirWatcher.exe
directorychangewatcher_src.zip
dirwatcher-11-24-2001_demo.zip
DirWatcher.ico
DirWatcher.dsp
DirWatcher.dsw
DirWatcher.exe
// DirWatcherDlg.h : header file
//

#if !defined(AFX_DIRWATCHERDLG_H__ECE3EDC7_6C61_4153_B25B_32A8904A37B1__INCLUDED_)
#define AFX_DIRWATCHERDLG_H__ECE3EDC7_6C61_4153_B25B_32A8904A37B1__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CDirWatcherDlg dialog
#include "DirectoryChanges.h"

class CDirectoryChangeHandler_ListBox : public CDirectoryChangeHandler
{
public:
	CDirectoryChangeHandler_ListBox(CListBox & list_box)
		: CDirectoryChangeHandler(),
		m_listBox( list_box ){}
	protected:
	//These functions are called when the directory to watch has had a change made to it
	virtual void On_FileAdded(const CString & strFileName)
	{
		m_listBox.AddString( _T("File Added: ") + strFileName);
	}
	virtual void On_FileRemoved(const CString & strFileName)
	{
		m_listBox.AddString(_T("File Removed: ") + strFileName);
	}
	virtual void On_FileModified(const CString & strFileName)
	{
		m_listBox.AddString(_T("File Modified: ") + strFileName);
	}
	virtual void On_FileNameChanged(const CString & strOldFileName, const CString & strNewFileName)
	{
		m_listBox.AddString(_T("File name changed from: ") + strOldFileName + _T(" to: ") + strNewFileName);
	}

	CListBox & m_listBox;

};

class CDirWatcherDlg : public CDialog
{
// Construction
public:
	CDirWatcherDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CDirWatcherDlg)
	enum { IDD = IDD_DIRWATCHER_DIALOG };
	CListBox	m_lstChanges2;
	CListBox	m_lstChanges;
	CString	m_strDirectoryToMonitor;
	CString	m_strDirectoryToMonitor2;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDirWatcherDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CDirWatcherDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnBtnMonitor();
	afx_msg void OnBtnMonitor2();
	afx_msg void OnBtnClear1();
	afx_msg void OnBtnClear2();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

	CDirectoryChangeWatcher			m_DirWatcher;
	CDirectoryChangeHandler_ListBox m_DirChangeHandler;

	DWORD GetChangeFlags1();
	DWORD GetChangeFlags2();
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_DIRWATCHERDLG_H__ECE3EDC7_6C61_4153_B25B_32A8904A37B1__INCLUDED_)

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

Share

About the Author

Wes Jones
Web Developer
United States United States
No Biography provided

| Advertise | Privacy | Mobile
Web01 | 2.8.140916.1 | Last Updated 12 May 2002
Article Copyright 2001 by Wes Jones
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid