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 Welche Api funktion nutzt OpenDialog etc. zum auflisten (https://www.delphipraxis.net/94431-welche-api-funktion-nutzt-opendialog-etc-zum-auflisten.html)

SirThornberry 21. Jun 2007 11:51


Welche Api funktion nutzt OpenDialog etc. zum auflisten
 
Hallo,

ich bin grad am experimentieren mit ApiHooks und das Öffnen von Dateien mitzubekommen ist auch kein Problem (für Spiegelprogramm über Netzwerk notwendig). Jetzt wollte ich jedoch noch das auflisten von Dateien abfangen/umlenken um den Inhalt von Ordnern z filtern und/oder Dateien aus anderen Ordnern darin anzeigen zu können. (um andere Ordner in einem Ordner "mounten" zu können oder sogar ftp-Verzeichnisse in beliebige Ordner zu mounten).

Allerdings scheitere ich daran die Funktion für das auflisten von Dateien zu hooken. Nutze ich Beispielsweise einen OpenDialog so bringt das hooken von FindFirstFileExA, FindFirstFileExW und FindFirstFileA nichts. Ich hatte ursprünglich vermutet das die ShellFunktionen (welche Spezielle Ordner filtern) auch auf diese Apifunktionen zugreifen um zum Beispiel erstmal Desktop.ini's etc. zu lesen und gegebenfalls auch dann den richtigen Inhalt.

Alles in allem suche ich also die Funktionen welche ich hooken muss damit auch Explorer-Dateiauflistungen von mir beeinflusst werden können. :)

ErazerZ 21. Jun 2007 12:07

Re: Welche Api funktion nutzt OpenDialog etc. zum auflisten
 
Einen Hook auf NtQueryDirectoryFile
in der NTDLL setzen und du kriegst alles mit :).

SirThornberry 21. Jun 2007 12:17

Re: Welche Api funktion nutzt OpenDialog etc. zum auflisten
 
danke, werds mir mal anschauen :-D

[Edit]
Habs mir mal angeschaut. Kann es sein das die Funktion keinen Rückgabewert hat? (völlig untypich für Apifunktionen) Und welche Aufrufconvention hat die Funktion? Ich gehe mal von Stdcall aus (vielleicht auch cdecl) bin mir da aber nicht sicher.

Luckie 21. Jun 2007 12:42

Re: Welche Api funktion nutzt OpenDialog etc. zum auflisten
 
Doch hat es. NTSTatus ist der Rückgabewert. Dürfte wohl ein DWORD sein.

brechi 21. Jun 2007 12:42

Re: Welche Api funktion nutzt OpenDialog etc. zum auflisten
 
NTSYSAPI
NTSTATUS
NTAPI

NtQueryDirectoryFile(

IN HANDLE FileHandle, IN HANDLE Event OPTIONAL, IN PIO_APC_ROUTINE ApcRoutine OPTIONAL, IN PVOID ApcContext OPTIONAL, OUT PIO_STATUS_BLOCK IoStatusBlock, OUT PVOID FileInformation, IN ULONG Length, IN FILE_INFORMATION_CLASS FileInformationClass, IN BOOLEAN ReturnSingleEntry, IN PUNICODE_STRING FileMask OPTIONAL, IN BOOLEAN RestartScan );


NTAPI = stdcall
NTSTATUS = Rückgabe (0 = kein Fehler)

SirThornberry 21. Jun 2007 14:37

Re: Welche Api funktion nutzt OpenDialog etc. zum auflisten
 
danke, es funktioniert :-D


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