Executar programa externo e prosseguir...

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Executar programa externo e prosseguir...

Mensagem 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
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Executar programa externo e prosseguir...

Mensagem 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.
Saudações,
Itamar M. Lins Jr.
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Re: Executar programa externo e prosseguir...

Mensagem por carlos_dornelas »

Obrigado Itamar!

Vou testar.

Bom final de semana a todos.

Antonio Carlos
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Executar programa externo e prosseguir...

Mensagem 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.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder