Como saber sobre outros programas
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:
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
Curtidas 0
Respostas
Massuda
09/02/2005
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ê.
GOSTEI 0
Marcio.theis
09/02/2005
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;
GOSTEI 0