Este eu testei.... mas não rola... por exemplo o comando start
"G:\BACKUPS\rar.exe" não executa, quando eu rodo pelo winexec ele já
executa.


sds.




-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de Gabriel Filho
Enviada em: sexta-feira, 2 de março de 2007 09:53
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Executar um comando no dos e aguardar execução



  Retirado do Dtdelphi 2.8
  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;
  - Exemplo de uso:

  ExecAndWait('c:\windows\notepad.exe', '', SW_SHOW);
  Observações
  Não se esqueça de informar o caminho (path) do arquivo completo. Esta
função
  foi desenvolvida para Delphi 32 bits (2, 3, 4,...).

  Em 02/03/07, Natanael Rodrigues <[EMAIL PROTECTED]> escreveu:
  >
  > Estou executando uma aplicação via comando winexec que é os comandos de
  > Backup da minha rede, gostaria que cada vez que é gerado essa linha de
  > comando o sistema aguarda o termino da execução. Alguem sabe como posso
  > fazer isto?
  >
  > att.
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  >
  >

  [As partes desta mensagem que não continham texto foram removidas]



  


[As partes desta mensagem que não continham texto foram removidas]

Responder a