Die erste Methode wollte nicht ganz so wie ich es mir vorgestellt habe.
Jetzt habe ich sie einwenig angepasst.
public
static
bool DateiHandleIstFrei(string Datei)
{
Stream s =null;
try
{
//Die Datei öffnen.
s = File.Open(Datei, FileMode.Open, FileAccess.Read, FileShare.None);
}
catch(Exception ex)
{
returnfalse;
}
s.Close();
returntrue;
}
Wenn beim öffnen der Datei ein Fehler auftritt, dann gebe ich false zurück.
Den Stream schliesse ich gar nicht erst. Ich habe beim Debuggen bemerkt,
dass bei einem Fehler der Stream in einem undefinierten Zustand ist.
Wenn kein Fehler auftritt, dann ist der Stream gültig und ich schliesse ihn bevor
ich true zurückgebe.
Wenn ich eine Datei mit Word öffne, dann bekomme ich false zurück.
Wenn ich die Datei aber mit UltraEdit öffne, dann kommt true zurück.
Wenn sie mit UltraEdit geöffnet ist, kann man sie auch wegkopieren, beim
Word geht das nicht. Also, mein momentanes Ziel ist erreicht.