Hallo Gemeinde,
ich habe gerade ein kleines Problem beim Auslesen der Startparameter einer "fremden" Anwendung.
Unter Windows XP funktioniert alles wunderbar, ab Vista aber geht nichts mehr.
Erstmal ein Schnipsel Code:
Delphi-Quellcode:
Snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
try
ProcessE.dwSize := SizeOf(ProcessE);
if Process32First(Snap, ProcessE) then begin
repeat
if ExtractFilePath(ParamStr(0)) + ProcessE.szExeFile = Application.ExeName then begin
Parameter := GetStartParameter(ProcessE.th32ProcessID);
In der Variablen "Parameter" steht unter XP der bzw. die Parameter, welche mit dem Programmstart übergeben wurden. Gebe ich mir diese Variable mit ShowMessage zum Beispiel aus, ist der Wert unter Vista leer. Ich gehe also quasi alle Prozesse durch uns suche die Prozesse, die denselben Namen habe wie meine EXE. Von diesen möchte ich dann die Parameter auslesen.
Frage ist jetzt, wieso das unter Vista nicht funkioniert bzw. was ich ändern muss.
Vielen Dank fürs Lesen!
Gruß,
Michael