Okay ich sehe meinen Fehler ein das diese Methode nicht 100% akkurat arbeitet, ich hätte es tiefer testen sollen, bei mir kam nur TC und WindowsExplorer bis jetzt in Frage da ichs in der Autostart-Abteilung verarbeitet habe. Nun dank dieses Buttons kann ich auch das testen.
Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var
oldHWND: HWND;
begin
Hide;
if GetParent(GetForegroundWindow) = 0 then oldHWND := GetForegroundWindow else oldHWND := GetParent(GetForegroundWindow);
mmo1.Lines.Add('oldHWND: '+IntToStr(oldHWND)+' - '+IntToHex(oldHWND,8));
Show;
end;
edit
2. Was soll das?
Mit der ersten Abfrage teste ich ob ich GetParent brauche oder ob GetForegroundWindow bereits das Parent (Hauptfenster) Window ist.
Aber mit Deinen .exes funktioniert es so nicht da alles falsch ist.