Buscar

Executar aplicativo e esperar sua finalização

Código

{Galera depois de muito sacrificio pra conseguir executar um arquivo, exe ou qlq outro e esperar sua finalização p/ que a aplicação delphi continue rodando criei esta função e funcionou.... espero ter ajudado pelo menos na idéia... }

//Inclua ShellApi na clausula uses do form onde for colocar esta
função

function ExecutarEEsperar(NomeArquivo : String) : Boolean;
var Sh: TShellExecuteInfo;
CodigoSaida: DWORD;
begin
FillChar(Sh, SizeOf(Sh), 0) ;
Sh.cbSize := SizeOf(TShellExecuteInfo) ;
with Sh do
begin
fMask := SEE_MASK_NOCLOSEPROCESS;
Wnd := Application.Handle;
lpVerb := nil;
lpFile := PChar(NomeArquivo);
nShow := SW_SHOWNORMAL;
end;
if ShellExecuteEx(@Sh) then
begin
repeat
Application.ProcessMessages;
GetExitCodeProcess(Sh.hProcess, CodigoSaida) ;
until not(CodigoSaida = STILL_ACTIVE);
Result := True;
end
else
Result := False;
end;

{
Dheyson Wildny Cruz Souza
  dheysonws@gmail.com
}

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Windows
Adicionada dia: 05/03/07
Por: Dheyson Wildny
Visualizada: 17694 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009