[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]

    The first point I would make is that you went to an awful lot of trouble
    to implement the WinExec API call...  cleaner code would look like:

    begin
      winexec('C:\Program.exe', SW_SHOWNORMAL);
    end;

    Delphi automatically treats this as a null-terminated string (like c).  As
    to the answer to your question.  WinExec returns a handle to the
    task.  Simply do the following:

    procedure SomeProc;
    var
      ProgramHandle : THandle;
    begin
      ProgramHandle := WinExec('C:\Program.exe', SW_SHOWNORMAL);
      while GetModuleusage(ProgramHandle) <> 0 do application.processmessages;
      {The above line will loop until the program terminates}
      {continue on with program below here}
    end;

[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]