Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Prozess finden, der Datei offen hat (https://www.delphipraxis.net/154851-prozess-finden-der-datei-offen-hat.html)

hoika 28. Sep 2010 07:10

Prozess finden, der Datei offen hat
 
Hallo #,

geg. ist der Name einer Datei (incl. Pfad):
Ich möchte jetzt herausbekommen, welcher Prozess diese Datei offen hat (falls es einen gibt).

Folgender C-Code macht das für ein Verzeichnis.
http://www.codeproject.com/KB/shell/...ileFinder.aspx


Hat jemand schon eine Delphi-Version dafür gefunden ?


Oder ohne das NtQuerySystemInformation, laut MSDN ist das eine OS-interne Funktion,
die sich von OS-Version zu OS-Version ändern kann.



Danke


Heiko

Luckie 28. Sep 2010 07:47

AW: Prozess finden, der Datei offen hat
 
Dafür wirst du einen Dateisystemtreiber brauchen, um zuverlässige Informationen zu bekommen. Es gibt auch Lösungen für den User-Mode, nur sind diese nicht zuverlässig: http://www.michael-puff.de/Programmi...lphi/Programme -> FileUnlocker.zip

hboy 28. Sep 2010 10:30

AW: Prozess finden, der Datei offen hat
 
ntQuerySystemInformation funktioniert von von NT4 ab eigentlich recht gut, ob der Spaß ab NT6 und neuer noch funktioniert, kann ich nicht sagen. Generell ist es aber wenig verwunderlich, dass ein so direkter Zugriff auf Systeminformationen versionsspezifisch ist.

Vielleicht einen Blick wert: http://www.openrce.org/forums/posts/46

Assarbad 4. Nov 2010 03:26

AW: Prozess finden, der Datei offen hat
 
Zitat:

Zitat von Luckie (Beitrag 1052531)
Dafür wirst du einen Dateisystemtreiber brauchen, um zuverlässige Informationen zu bekommen.

Stimmt nicht. Es wird nichtmal ein Dateisystemfilter benötigt. "hboy" ist am nächsten an der Lösung. Und die Native API wird meist nur erweitert und selten wirklich grundlegend geändert. Eine Garantie ist das allerdings in der Tat nicht.

Luckie 4. Nov 2010 12:10

AW: Prozess finden, der Datei offen hat
 
Also die Aussage stammt ursprünglich von Nico. Und wenn du dir meinen FileUnlocker (noch ohne Unlock-Funktion) anguckst, dann funktioniert er nicht zuverlässig. Auf meinem heimrechner fzunktioniert er auf anderen Rechnern bleibt er hängen.
http://www.michael-puff.de/Programmi...leUnlocker.zip

Assarbad 4. Nov 2010 13:11

AW: Prozess finden, der Datei offen hat
 
Zitat:

Zitat von Luckie (Beitrag 1059608)
Also die Aussage stammt ursprünglich von Nico.

Dann gib doch mal Aussage und Kontext. Ich bin mir ziemlich sicher, daß es nicht um das selbe Problem ging.

Allerdings kann es sein, daß eine 32bit-Anwendung auf 64bit-Windows Probleme bekommt. Aber das müßte man erstmal testen ...

hoika 4. Nov 2010 13:16

AW: Prozess finden, der Datei offen hat
 
Hallo,

ich will eigentlich meinem Innosetup helfen,
wenn Dateien im System überschrieben werden sollen.
Davor will ich prüfen, ob die Datei offen ist,
und wenn ja, von wem sie geöffnet ist.


Heiko

Assarbad 4. Nov 2010 13:18

AW: Prozess finden, der Datei offen hat
 
Puh, mit InnoSetup kenne ich mich nicht aus. Und "Kontext" meinte übrigens den Kontext in dem Nico seine Aussage gemacht hat.

Luckie 4. Nov 2010 13:24

AW: Prozess finden, der Datei offen hat
 
Es ging darum den Prozess zu finden, der eine oder mehrere Dateien geöffnet hat und so den Zugriff auf die Dateien blockiert hat. Eventuell findet man den Beitrag hier im Forum noch.

Assarbad 4. Nov 2010 13:39

AW: Prozess finden, der Datei offen hat
 
Zitat:

Zitat von Luckie (Beitrag 1059629)
Eventuell findet man den Beitrag hier im Forum noch.

Habe es gerade versucht. Aber die neue Suche finde ich schröcklich ... :shock:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:48 Uhr.
Seite 1 von 3  1 23      

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