Página 1 de 1

Executar programa externo e prosseguir...

Enviado: 17 Abr 2009 17:13
por carlos_dornelas
Caros,

Como faço para executar um programa externo e continuar com a rotina do meu programa atual? Utilizo o __RUN, mas meu programa fica esperando que o programa acionado termine para então continuar e eu não quero isso. Preciso que minha rotina continue após o start do programa externo.

Agradeço qualquer dica...

Antonio Carlos

Re: Executar programa externo e prosseguir...

Enviado: 17 Abr 2009 19:20
por Itamar M. Lins Jr.
Ola!
Segue os códigos.

Código: Selecionar todos

cArq pode ter qualquer extensão.
cArq       := 'cheques001.html'
cPasta    := LEFT(hb_argv(0)

ShellExecute(cArq,"open",nil,cPasta,1)

 #pragma BEGINDUMP
 #include "windows.h"
 #include "hbapi.h"

 // ShellExecute( cFile, cOperation, cParams, cDir, nFlag )
 HB_FUNC( SHELLEXECUTE )
 {
   hb_retnl( (LONG) ShellExecute( GetActiveWindow(),
              ISNIL(2) ? NULL : (LPCSTR) hb_parc(2),
              (LPCSTR) hb_parc(1),
              ISNIL(3) ? NULL : (LPCSTR) hb_parc(3),
              ISNIL(4) ? "C:\\" : (LPCSTR) hb_parc(4), 
              ISNIL(5) ? 1 : hb_parni(5) ) ) ;
}

  
 #pragma ENDDUMP
 

Tem o Myrun tambem 

****************
Function MyRun(c)
****************
*
*
Local oShell,Ret
oShell:=CreateObject("WScript.Shell")
Ret   :=oShell:Run("%ComSpec% /c " + c , 0, .t.)
oShell:=Nil

Return iif(Ret=0,.t.,.f.)
Saudações,
Itamar M. Lins Jr.

Re: Executar programa externo e prosseguir...

Enviado: 17 Abr 2009 21:48
por carlos_dornelas
Obrigado Itamar!

Vou testar.

Bom final de semana a todos.

Antonio Carlos

Re: Executar programa externo e prosseguir...

Enviado: 18 Abr 2009 18:27
por sygecom
Olá Carlos,
Tem também a função HB_OpenProcess(), de uma procurada no Help do xHarbour que tem até exemplos de uso.