xprata 0 Denunciar post Postado Março 6, 2008 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
marcio.theis 3 Denunciar post Postado Março 14, 2008 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
xprata 0 Denunciar post Postado Março 19, 2008 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