?
Solved

´"Stop" motherapp. after launching with Createprocess..

Posted on 1998-01-25
4
Medium Priority
?
168 Views
Last Modified: 2010-04-04
I use Createprocess to launch an external application. However, I want the "Mother-process" (the app. that I use to Launch) to execute some lines of code after the launched application is closed..

Like this:

Procedure Form1.Button1Click(Sender: TObject);
// Var declaration..
Begin
Createprocess(PChar(Process_To_Launch),NIL,NIL,NIL,False,
Normal_Priority_Class,NIL,Startup_Info,Process_Info);

// some lines of code that I want to be executed after the
// Process_To_Launch is closed down.
// For example:

ShowMessage('The Process is closed down');

End;

The problem is that the external application is launched,
and then the following rows of code is executed directly,
Without waiting for the launched application to finish..

Is this the way to do it, or do I have to create some event-
handling for this, in short: How do I do it?

I use Delphi Developer 2.0
Thanks!
Erik N
0
Comment
Question by:Erik N
  • 3
4 Comments
 

Author Comment

by:Erik N
ID: 1357522
Edited text of question
0
 

Author Comment

by:Erik N
ID: 1357523
Edited text of question
0
 
LVL 5

Accepted Solution

by:
inter earned 560 total points
ID: 1357524
Dear friend,

Use the following function and loop to wait for the process termination:(The Process_Info structure is the one you obtained by CreateProcess)

 repeat
   GetExitCodeProcess(Process_Info.hProcess, lpExitCode);
   Application.ProcessMessages;
 until (lpExitCode <> STILL_ACTIVE);

 // Your code goes here (after process terminated)

 May it helps,
 Igor
0
 

Author Comment

by:Erik N
ID: 1357525
It worked just fine!
Thank you Inter-Igor!

Erik N
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an anti-spam), the admin…
With just a little bit of  SQL and VBA, many doors open to cool things like synchronize a list box to display data relevant to other information on a form.  If you have never written code or looked at an SQL statement before, no problem! ...  give i…
Suggested Courses
Course of the Month12 days, 20 hours left to enroll

579 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question