Einzelnen Beitrag anzeigen

gpvg

Registriert seit: 22. Mär 2007
Ort: Erfurt
18 Beiträge
 
Turbo Delphi für Win32
 
#1

Problem mit GetModuleFileName

  Alt 3. Apr 2008, 14:27
Die Beschreibung in Turbo Delphi:
Rufen Sie GetModuleFileName auf, um den vollständig qualifizierten Namen eines Moduls anhand seines Handles abzurufen. Die in der Unit System definierte Version von GetModuleFileName steht nur unter Linux zur Verfügung. Unter Windows verwenden Sie stattdesseen die Windows-API mit demselben Namen.
Module ist das Handle des Moduls, dessen Name erforderlich ist.
Buffer ist ein Puffer, der den Dateinamen empfängt.
BufLen ist die Anzahl der Byte in Buffer.
GetModuleFileName gibt die Anzahl der Byte zurück, die in Buffer geschrieben werden.

Soweit alles in Ordnung.

Jetzt kommt aber der Hammer!
Warnung:
GetModuleFileName liefert nicht immer den gewünschten Rückgabewert. Unter bestimmten Bedingungen (Aufrufart der Anwendung, Vorhandensein des /proc-Dateisystem usw.) kann GetModuleFileName einen Namen zurückgeben, der nicht voll qualifiziert ist. Manchmal wird auch überhaupt kein Dateiname zurückgegeben. Vergessen Sie nicht, die Ergebnisse dieser Funktion zur überprüfen, bevor Sie den Rückgabewert verwenden.

Tja, genau vor diesem Problem stehe ich. Ich habe das Handle eines Prozesses, aber GetModuleFileName spuckt nichts aus. Ich brauche aber den vollen Pfadnahmen des Prozesses.
Weiß jemand, wie man noch an den vollen Pfadnamen herankommt?
  Mit Zitat antworten Zitat