Einzelnen Beitrag anzeigen

daPimP

Registriert seit: 26. Okt 2006
25 Beiträge
 
#4

Re: aus Registry Werten den Dateinamen und Pfad ermitteln

  Alt 22. Mai 2007, 20:05
Das kann ich so fast nicht glauben.
Denn um MMTray.exe zu starten, muss Windows ja irgendwo eine Verbindung zum Ordner herstellen können.

Falls du Recht hast, würde das dann so aussehen.
Es werden alle Umgebungsvariablen (also %system32% etc...)durchgespielt um das Verzeichnis zu ermitteln und Windows zerlegt dann auch immer den String? (Autoruns von SysInternals macht das dann wohl auch so)

Um an das Verzeichnis von MMTray.exe zu kommen, nutze ich folgenden Code:

Delphi-Quellcode:
function DateiOpen(Pfad: String): string;
var
  FileName,Directory: string;
  ExecuteFileName: array[0..Max_Path] of char;
  i: Integer;
begin
  FileName:=extractfilename(Pfad) ; //'DirectX.log';
  Directory:= extractfilepath(Pfad) ; //'C:\windows\';
  FillChar(ExecuteFileName, SizeOf(ExecuteFileName), ' ');

  SHELLAPI.FindExecutable(@FileName[1], @Directory[1], @ExecuteFileName[1]);

  result:= ExecuteFileName; //log - Dateien werden geöffnet durch C:\...notepad.exe
end;
Erklärung
Die Function macht nix anderes als zu schauen, wer diese Datei öffnet. Und da eine Exe sich selbst
öffnet, komme ich so auch an den Pfad ran.

@MathiasSimmack - schau ich mir mal an
watch out ... SySSnapper... coming soon
  Mit Zitat antworten Zitat