Sobre se uma execução dentro da procedure terminou.

22/02/2003

0

Olá, eu queria saber se tem como saber se uma linha da procedure como ´WincExec(...)´ terminou de executar, por exemplo, se enquanto a execução do programa dentro do WinExec estiver sendo executada, dá uma mensagem num Label que o programa está sendo executado, qdo. terminar a execução aí dá uma outra mensagem no Label que terminou a execução do programa.

Espero retorno!

Obrigado!


Anonymous

Anonymous

Responder

Posts

23/02/2003

Navoid

olha a única maneira de fazer isso é usando a função abaixo, só que o seu programa irá ficar parado esperando o programa encerrar, vc num vai mais ter controle sobre ele até que o programa executado seja terminado.

****
procedure ExecutaAplicativoEsperando(LinhaComando: string);
var StartupInfo: TStartupInfo;
ProcessInformation: TProcessInformation;
rc: Boolean;
begin
FillChar(StartupInfo, SizeOf(StartupInfo), #0);
with StartupInfo do
cb := SizeOf(StartupInfo);
rc := CreateProcess(nil, PChar(LinhaComando), nil, nil, false,
NORMAL_PRIORITY_CLASS, nil,
nil, StartupInfo, ProcessInformation);
if rc then
WaitForSingleObject(ProcessInformation.hProcess, INFINITE)
else
raise Exception.Create(LinhaComando+13+´ não encontrado neste computador´);
end;
****

até


Responder

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

Aceitar