GARANTIR DESCONTO

Fórum Como saber sobre outros programas #267866

09/02/2005

0

Ola pessoal!!!!

Estou com um super problema.
Tenho um sistema que executar um tarefa fora do Delphi e quero saber quando a tarefa terminar de ser executada.

Aguem poderia me ajudar com isso!!????? :cry:



Tux_bh

Tux_bh

Responder

Posts

09/02/2005

Massuda

Pelo que entendi, você quer iniciar um programa externo e aguardar o término desse programa. Nesse caso, este [url=http://forum.clubedelphi.net/viewtopic.php?t=23092]tópico anterior[/url] deve ser útil para você.


Responder

Gostei + 0

09/02/2005

Marcio.theis

Bom.... Tente este código, eu nunca testei ele, mas deve de funcionar:

Inclua na seção uses: Windows

{ Esta função faz isto. }

function ExecAndWait(const FileName, Params: string;
  const WindowState: Word): boolean;
var
  SUInfo: TStartupInfo;
  ProcInfo: TProcessInformation;
  CmdLine: string;
begin
  { Coloca o nome do arquivo entre aspas. Isto é necessário devido aos espaços contidos em nomes longos }
  CmdLine := ´"´ + Filename + ´"´ + Params;
  FillChar(SUInfo, SizeOf(SUInfo), #0);
  with SUInfo do begin
  cb := SizeOf(SUInfo);
  dwFlags := STARTF_USESHOWWINDOW;
  wShowWindow := WindowState;
  end;
  Result := CreateProcess(nil, PChar(CmdLine), nil, nil, false,
  CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
  PChar(ExtractFilePath(Filename)), SUInfo, ProcInfo);
  { Aguarda até ser finalizado }
  if Result then begin
  WaitForSingleObject(ProcInfo.hProcess, INFINITE);
  { Libera os Handles }
  CloseHandle(ProcInfo.hProcess);
  CloseHandle(ProcInfo.hThread);
  end;
end;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar