FileSystemWatcher registriert keine Dateiänderungen von außen

06/02/2008 - 13:44 von WolfgangH | Report spam
Hallo NG,

mein FileSystemWatcher soll eine Dateiànderung überwachen.
Wenn das Programm selbst einen Wert in die Datei schreibt, feuert das
Changed-Ereignis.
Wenn ich die "beobachtete" Datei editiere und speichere, feuert nichts -
warum?

Grüße
Wolfgang


hier kurz der Code:
FileSystemWatcher fswatcher = new FileSystemWatcher();
fswatcher.Path = Application.StartupPath;
fswatcher.Filter = "App.ini";
fswatcher.NotifyFilter = NotifyFilters.LastWrite;
fswatcher.Changed += new FileSystemEventHandler(fswatcher_Changed);


private void fswatcher_Changed(object sender, FileSystemEventArgs e)
//nicht: private static ...
{
MessageBox.Show("FilesystemWatcher","Info",MessageBoxButtons.OK);
}
 

Lesen sie die antworten

#1 Frank Dzaebel
06/02/2008 - 21:39 | Warnen spam
Hallo Wolfgang,

mein FileSystemWatcher soll eine Dateiànderung überwachen.
Wenn das Programm selbst einen Wert in die Datei schreibt, feuert das
Changed-Ereignis.
Wenn ich die "beobachtete" Datei editiere und speichere, feuert nichts -
warum?



Füge mal folgendes ein:

fswatcher.EnableRaisingEvents = true;

Eine andere Fehlerquelle bestünde, wenn Du z.B.
die Datei-Extensions im Explorer nicht sehen könntest,
und die Datei intern ggf. "App.ini.txt" heissen würde.

Nebenbei, für Einstellungen arbeitet man heutzutage gàngigerweise
eher mit XML- anstatt ini-Dateien, aber gibt ja manchmal
noch Legacy-Szenarien, in denen man das rück-supporten muss.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen