Moin, Spätmoin,
naja, es gibt auch hier mehrere kürzere Wege. Einer kommt hier von mir.
Du kannst Deine .exe von Deinem Masterprogramm aufrufen. Habe da folgende Routine für.
Die schaut erst nach ob Dein Programm schon läuft. Dann bruacht Sie es nur in den
Vordergrund zu holen. Wenn nicht startet sie es eben einfach...
Delphi-Quellcode:
procedure MyForm.Application_Start
(const ApplicationName : string);
Wnd : HWND;
begin
Wnd := FindWindow ( nil, PChar(copy( ApplicationName,1,abs(length( ApplicationName )-4 ))) );
if Wnd <> 0
then SetForegroundWindow( Wnd )
else
begin
{ }
SystemParametersInfo(SPI_GETWORKAREA, 0, @Rect, 0);
{ }
Application.ProcessMessages;
ShellExecute
( 0,
'open',
PChar(ExtractFilePath(application.ExeName)+ApplicationName),
PChar(''),
PChar(''),
SW_SHOWNORMAL
);
end;
Application.ProcessMessages;
SleepEx( 1000, false );
end;
Grüße und viel Erfolg
// Martin