Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Unterprogramm ausführen (https://www.delphipraxis.net/33179-unterprogramm-ausfuehren.html)

Brueckenhauer 2. Nov 2004 18:07


Unterprogramm ausführen
 
Ich habe eine *.exe und möchte die in einem anderen Programm ausführen, wie kann ich das machen?

Airblader 2. Nov 2004 18:19

Re: Unterprogramm ausführen
 
Hm.. :gruebel:

Geh mal auf http://www.swissdelphicenter.ch auf "programmierer tipps" und such nach "exe" oder so.

Da gabs das glaub :-D

Brueckenhauer 2. Nov 2004 18:30

Re: Unterprogramm ausführen
 
hmm, geht das nicht auch einfacher??? bzw kürzer?

mschaefer 2. Nov 2004 18:38

Re: Unterprogramm ausführen
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz