Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Herausfinden von welchem Programm eine Datei genutzt wird (https://www.delphipraxis.net/41782-herausfinden-von-welchem-programm-eine-datei-genutzt-wird.html)

MisterNiceGuy 8. Mär 2005 15:15


Herausfinden von welchem Programm eine Datei genutzt wird
 
Hi mit folgendem Code kann man prüfen, ob eine Datei gerade geöffnet ist.

Delphi-Quellcode:
function IsFileInUse(FileName: TFileName): Boolean;
var
  HFileRes: HFILE;
begin
  Result := False;
  if not FileExists(FileName) then Exit;
  HFileRes := CreateFile(PChar(FileName),
                         GENERIC_READ or GENERIC_WRITE,
                         0,
                         nil,
                         OPEN_EXISTING,
                         FILE_ATTRIBUTE_NORMAL,
                         0);
  Result := (HFileRes = INVALID_HANDLE_VALUE);
  if not Result then
    CloseHandle(HFileRes);
end;
Jetzt würde ich aber gerne noch wissen, von welchem Programm diese Datei gerade verwendet wird.
Lässt sich das irgendwie realisieren?

static_cast 8. Mär 2005 16:24

Re: Herausfinden von welchem Programm eine Datei genutzt wir
 
Hi,

ich hatte sowas ähnliches auch mal gefragt: http://www.delphipraxis.net/internal...068&highlight=

nur auch nie eine Antwort drauf bekommen, daher Interessiert es mich auch noch wie man das herrausfinden kann.

Du kannst dur ja mal den link zu dem Tool in dem Artikel anschaun das kann das sehr gut, nur keine Ahnung wie das gemacht wird, ich hatte auch mal eine Mail an die geschrieben aber nie eine Antwort bekommen...

himitsu 8. Mär 2005 16:32

Re: Herausfinden von welchem Programm eine Datei genutzt wir
 
Also windows muß ja irgndwo gespeichert haben, welche FileID zu welcher Datei gehört und welches Programm welche Dateien beantragt und die entsprechenden ID's bekommen hat...

Ich weiß ja nicht, aber im MSDN könnte da ja bestimmt (hoffentlich) irgenwo was stehen?

Luckie 8. Mär 2005 18:14

Re: Herausfinden von welchem Programm eine Datei genutzt wir
 
Unter www.sysinternals.com gibt es einen Filemonitor. da da aber dafür einen Dateisystemtreiber brauchst, wirst du das nicht mit Delphi machen können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 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