![]() |
Herausfinden, welches Programm eine Datei sperrt
Hallo liebe Delphi-Gemeinde,
ich habe jetzt eine Weile mit verschiedenen Suchbegriffen im Forum geforascht, aber nichts finden können. Ich suche eine Möglichkeit, herauszufinden, welches Programm eine Datei sperrt, wenn ich keinen Zugriff auf diese Datei erhalte. Geht das? Wenn ja, wie? Ein Link zu einem bestehenden Thread hier im Forum würde mir schon reichen :wink: Danke. |
Re: Herausfinden, welches Programm eine Datei sperrt
|
Re: Herausfinden, welches Programm eine Datei sperrt
Hallo,
wer eine Datei in Besitz hält kannst du relativ einfach sehen: WinXP: Start -> Einstellungen -> Systemsteuerung -> Verwaltung -> Computerverwaltung -> Freigegebene Ordner -> geöffnete Dateien. Grüsse Rainer |
Re: Herausfinden, welches Programm eine Datei sperrt
Zitat:
das sollten nur die Netzwerkfreigaben sein ;) Ansonsten würde es mich wundern, da dort angeblich garade nichts geöffnet ist :stupid: |
Re: Herausfinden, welches Programm eine Datei sperrt
Sorry, ich habe mich vielleicht etwas falsch ausgedrückt. :(
Process Explorer und Unlocker sind mir wohl bekannt. Ich suche eine Möglichkeit, dies in meinem Delphiprogramm herauszubekommen, um es dem Anwender mitzuteilen. Z.B. wenn eine Datei nicht kopiert werden kann, soll die Software sagen, dass er doch das entsprechende Programm schließen soll. Ich benötige also eine Funktion, die mir den Namen der (exe)-Datei zurückliefert, wenn ich eine gesperrte Datei abfrage. Die o.g. Programme können es ja auch... irgendwie ;-) |
Re: Herausfinden, welches Programm eine Datei sperrt
Such mal nach
![]() |
Re: Herausfinden, welches Programm eine Datei sperrt
eine Funktion für Delphi ist mir nicht bekannt, aber so einfach wird es nicht sein, vorallem da es nicht soo viele Programme gibt, die das überhaupt auslesen können.
Es ist zwar (bedingt) möglich rauszubekommen welcher Datei ein Handle zugeordnet ist, aber dann müßtest du dich durch alle aktiven Programme hangeln (falls du die Rechte dazu hast) und ersmal 'ne Liste der offnen Handles erstellen (alle möglichen bruteforcemäßig durchzuprobiren wäre etwas Rechenintensiv), dann vermutlich diese Handle in deinen Prozess reinclonen und abfragen wozu sie gehören. |
Re: Herausfinden, welches Programm eine Datei sperrt
Ohne Treiber ist keine sichere Lösung möglich.
|
Re: Herausfinden, welches Programm eine Datei sperrt
Zitat:
|
Re: Herausfinden, welches Programm eine Datei sperrt
Zitat:
|
Re: Herausfinden, welches Programm eine Datei sperrt
Das Problem ist nur (wenn ich das richtig mitbekommen hab), daß es wohl keine richtige Schnittstelle seitens Windows gibt, worüger ein Programm dieses auslesen könnte.
wenn du jetzt über undokumentierte Schnittstellen geht, oder direkt über feste Speicheradressen versuchst an diese Informationen ranzukommen, dann kann in der nächsten Programmversion (neues Windows, oder einfach nur ein kleines Update) alles anders sein und nix geht mehr. |
Re: Herausfinden, welches Programm eine Datei sperrt
Zitat:
Was interessiert einen Entwickler bei Microsoft schon das eigene Gewäsch von gestern? Auf der anderen Seite wäre es zugegebenermaßen auch idiotisch, immer kompatibel bis hinunter zu MS-DOS-Zeiten bleiben zu wollen. Wenn man also eine Lösung fände, die nur für ein Betriebssystem funktioniert, wäre das doch auch schon mal was, oder? |
Re: Herausfinden, welches Programm eine Datei sperrt
als Programmierer aber etwas unpraktisch ... oder wie käme es rüber, wenn in deiner Softwäre drinstünde, daß diese NUR unter Win98 liefe? und in "neueren" Versionen für die nächste Zeit nix möglich wäre, weil du erstmal suchen müßtest, wie das jetzt geht.
|
Re: Herausfinden, welches Programm eine Datei sperrt
Zitat:
aber als erster Ansatz immer noch besser als gar nichts machen zu können Edit: und wenn wir hier erst mal eine Lösung für ein Betriebssystem haben, dann lassen sich die anderen sicher auch finden, oder? würde allerdings nicht unbedingt mit Windows 98 anfangen, sondern eher mit Windows 2000 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz