Neuer Versuch:
Delphi-Quellcode:
WndBefore := GetForeGroundWindow;
if CreateProcess(nil,
PChar('c:\program files\mozilla firefox\firefox.exe -new-tab http://www.google.de'),
nil,
nil,
FALSE,
NORMAL_PRIORITY_CLASS,
nil,
nil,
FStartupInfo,
FProcessInfo) then
begin
WaitforSingleObject(FProcessInfo.hProcess,6000);
end;
WndAfter := GetForeGroundWindow;
if (WndAfter <> WndBefore) and (WndBefore <> 0) then
begin
BringWindowToTop(WndBefore);
SetForegroundWindow(WndBefore);
end;
Ergebnis:
Eine Meldung von Firefox dass es nicht mehr reagiert und neu gestartet werden muss.
Ohne den "if WndAfter <> WndBefore" Block startet es zwar problemlos, aber wie schon gesagt der Input Focus geht an ein unsichtbares Firefox Message Fenster, also ins Nirvana.