Entwickler-Ecke

Dateizugriff - Prüfen ob eine Datei von einem anderen Programm geöffnet ist


tortom1000 - Sa 30.01.10 09:26
Titel: Prüfen ob eine Datei von einem anderen Programm geöffnet ist
Hallo,

kann man prüfen, ob eine z.B. Textdatei in einem anderen Programm (z.B. Notepad) geöffnet ist?

Es geht darum, Dateien zu kopieren, aber erst, wenn keiner mehr auf diese Dateien zugreift.

Die Funktion "IsFileInUse" funktioniert nicht.

Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.


jaenicke - Sa 30.01.10 09:39

user profile icontortom1000 hat folgendes geschrieben Zum zitierten Posting springen:
Die Funktion "IsFileInUse" funktioniert nicht.
Sehr aufschlussreiche Fehlerbeschreibung :roll:
Was passiert denn?

Es gibt noch die Möglichkeit alle Handles aller Programme durchzugehen, aber das dauert natürlich länger.


tortom1000 - Sa 30.01.10 09:55

Hi, hast ja wenig Phantasie :lol:

Wenn in Notepad der File C:\test.txt geöffnet ist und mittels der besagten Funktion nun c:\test.txt geprüft wird, ob diese im Gebrauch ist, ist laut dieser Funktion c:\test.txt nicht in Gebrauch, obwohl sie ja definitiv geöffnet ist.

Keine Ahnung, ob die Funktion IsFileInUse nur für Exe-Dateien gemacht wurde...

Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.


jaenicke - Sa 30.01.10 10:30

user profile icontortom1000 hat folgendes geschrieben Zum zitierten Posting springen:
obwohl
sie ja definitiv geöffnet ist.
Ist sie nicht, wenn es um Notepad geht. Notepad öffnet die Datei, lädt den Inhalt und schließt die Datei wieder. Deshalb ist das korrekt, dass angezeigt wird, dass die Datei nicht in Benutzung ist.

Notepad hat kein Handle oder irgendetwas mehr auf die Datei offen, schau einfach nach [http://technet.microsoft.com/de-de/sysinternals/bb896653.aspx].