Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xprata

Problema ao usar CreateProcess para executar xcopy

Recommended Posts

Boa noite senhores,

estou usando o CreateProcess para executar o xcopy pois preciso que o apl fique aguardando a finalização do xcopy

Em maquinas xp funciona normalmente agora em maquinas com win98 a janela do dos não se fecha ao termino do xcopy...

Alguem sabe como resolver?

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para executar comandos DOS eu utilizo este comando:

 

function TfrmPrincipal.WinExecAndWait32(FileName: String; WorkDir: String; Visibility: integer): integer;
var
	zAppName: array[0..512] of char;
	zCurDir: array[0..255] of char;
	StartupInfo: TStartupInfo;
	ProcessInfo: TProcessInformation;
begin
StrPCopy(zAppName,FileName);
StrPCopy(zCurDir,WorkDir);
FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb:=Sizeof(StartupInfo);
StartupInfo.dwFlags:=STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow:=Visibility;
if not CreateProcess(nil,zAppName,nil,nil,False,CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,nil,zCurDir,StartupInfo,ProcessInfo) then
	Result:=-1
else
	begin
	WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
	GetExitCodeProcess(ProcessInfo.hProcess,DWORD(Result));
	end;
end;

Onde que posso chamar assim:

 

if WinExecAndWait32('c:\teste.bat','c:\',SW_HIDE) = 0 then
	\\Executado com sucesso;

Sendo que enquanto ele esta dentro do WinExecAndWait32 deixo rodando um gif animado de execução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola, obrigado pelo retorno...mas você ja testou em maquina com win98?

Não fecha a tela do DOS automaticamente dai fica travado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.