avec System.IO.FileSystemWatcher
exemple de code :
private FileSystemWatcher FSWatcher;
public Form1()
{
InitializeComponent();
FSWatcher = new FileSystemWatcher();
FSWatcher.Changed += new FileSystemEventHandler(FSWatcher_Changed_Created_Deleted);
FSWatcher.Created += new FileSystemEventHandler(FSWatcher_Changed_Created_Deleted);
FSWatcher.Deleted += new FileSystemEventHandler(FSWatcher_Changed_Created_Deleted);
FSWatcher.Renamed += new RenamedEventHandler(FSWatcher_Renamed);
}
private void Form1_Load(object sender, System.EventArgs e)
{
FolderBrowserDialog dlg = new FolderBrowserDialog();
if ( dlg.ShowDialog() == DialogResult.OK)
{
FSWatcher.Path = dlg.SelectedPath;
// lancement de la surveillance
FSWatcher.EnableRaisingEvents = true;
}
else
Application.Exit();
}
private void FSWatcher_Changed_Created_Deleted(object sender, FileSystemEventArgs e)
{
StringBuilder tmp = new StringBuilder();
tmp.AppendFormat("{0} @ {1} : Action={2}, Nom={3} ({4})",
DateTime.Now.ToShortDateString(),
DateTime.Now.ToShortTimeString(),
e.ChangeType.ToString(),
e.Name,
e.FullPath);
listBox_Changements.Items.Add(tmp.ToString());
}
private void FSWatcher_Renamed(object sender, RenamedEventArgs e)
{
StringBuilder tmp = new StringBuilder();
tmp.AppendFormat("{0} @ {1} : Action=Renamed, Ancien nom={2} ({3}), Nouveau nom={4} ({5})",
DateTime.Now.ToShortDateString(),
DateTime.Now.ToShortTimeString(),
e.OldName,
e.OldFullPath,
e.Name,
e.FullPath);
listBox_Changements.Items.Add(tmp.ToString());
}
Cocoricoooooooo !!!!