AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Prozess finden, der Datei offen hat

Prozess finden, der Datei offen hat

Ein Thema von hoika · begonnen am 28. Sep 2010 · letzter Beitrag vom 5. Nov 2010
Antwort Antwort
Seite 1 von 3  1 23   
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.268 Beiträge
 
Delphi 10.4 Sydney
 
#1

Prozess finden, der Datei offen hat

  Alt 28. Sep 2010, 08:10
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
Heiko

Geändert von hoika (28. Sep 2010 um 09:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Prozess finden, der Datei offen hat

  Alt 28. Sep 2010, 08:47
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
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#3

AW: Prozess finden, der Datei offen hat

  Alt 28. Sep 2010, 11:30
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
Power is nothing without TControl
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#4

AW: Prozess finden, der Datei offen hat

  Alt 4. Nov 2010, 04:26
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.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Prozess finden, der Datei offen hat

  Alt 4. Nov 2010, 13:10
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
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#6

AW: Prozess finden, der Datei offen hat

  Alt 4. Nov 2010, 14:11
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 ...
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.268 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Prozess finden, der Datei offen hat

  Alt 4. Nov 2010, 14:16
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
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#8

AW: Prozess finden, der Datei offen hat

  Alt 4. Nov 2010, 14:18
Puh, mit InnoSetup kenne ich mich nicht aus. Und "Kontext" meinte übrigens den Kontext in dem Nico seine Aussage gemacht hat.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: Prozess finden, der Datei offen hat

  Alt 4. Nov 2010, 14:24
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#10

AW: Prozess finden, der Datei offen hat

  Alt 4. Nov 2010, 14:39
Eventuell findet man den Beitrag hier im Forum noch.
Habe es gerade versucht. Aber die neue Suche finde ich schröcklich ...
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz