Aunque en el hilo que te indico
dec hay soluciones muy validas (una de ellas es mia
) aqui te dejo otra. Siempre esta bien tener varias formas de afrontar el mismo problema.
Código Delphi
[-]
function Redirigir(Comando: string; Archivo: string): Boolean;
var
Buffer: array[0..MAX_PATH] of Char;
Info: SHELLEXECUTEINFO;
begin
Result:= FALSE;
Fillchar(Buffer,Sizeof(Buffer),0);
if GetEnvironmentVariable('COMSPEC', @Buffer, SizeOf(Buffer) - 1) > 0 then
begin
Fillchar(Info,Sizeof(Info),0);
Info.cbSize:= SizeOf(Info);
Info.fMask:= SEE_MASK_NOCLOSEPROCESS;
Info.lpFile:= @Buffer;
Info.lpParameters:= PChar('/C '+Comando+' > '+Archivo);
Info.nShow:= SW_HIDE;
if ShellExecuteEx(@Info) then
begin
while WaitForSingleObject(Info.hProcess, 200) = WAIT_TIMEOUT do
Application.ProcessMessages;
Result:= TRUE;
end;
end;
end;