Einzelnen Beitrag anzeigen

Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#4

Re: Bei Programmaufruf eigene Anwendung nicht beenden?

  Alt 23. Aug 2006, 10:47
Moin,moin,

Heike, probier es mal mit nachfolgendem Codeschnipsel. Hier wird zudem der Mehrfachstart
einner Anwendung unterbunden.

Delphi-Quellcode:

procedure TForm1.Application_Start
(const ApplicationName : string;
 const AppParamString : string);
var
    rect : TRect;
    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( AppParamString ),
            '',
            '',
            SW_SHOWNORMAL
         );
   end;
   Application.ProcessMessages;
   SleepEx( 1000, false );
end;
Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat