Peguei uma função para subsituir o comando RUN, pois utilizando esse comando fica sempre aparecendo aquela telinha preta chata.... mas toda vez que executo a função, o SISTEMA TRAVA... já testei no WinXP e Win98 e aconteceu a mesma coisa...
Tô fanzendo assim: xhbrun("NODOSIMP C:\WINDOWS\&NomeFile 80 /SEL")
Alguém tem alguma solução???
Utilizao a vx 99.61 do xharbour
Segue a função:
Function xhbrun(ccommand)
LOCAL hIn, hOut, hErr
LOCAL cData, hProc, nLen
Local nRet
hProc := HB_OpenProcess( cCommand , @hIn, @hOut, @hOut )
nRet := HB_ProcessValue( hProc )
FClose( hProc )
FClose( hIn )
FClose( hOut )
FClose( hErr )
return nRet
Janio
substituir comando RUN
Moderador: Moderadores
substituir comando RUN
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
substituir comando RUN
Usa esta
**************
function MYRUN( cComando )
**************
local oShell, RET
oShell := CreateObject( "WScript.Shell" )
RET := oShell:Run( "%comspec% /c " + cComando, 0, .T. )
oShell := NIL
return iif( RET = 0, .T., .F. )
Eduardo Mendes
**************
function MYRUN( cComando )
**************
local oShell, RET
oShell := CreateObject( "WScript.Shell" )
RET := oShell:Run( "%comspec% /c " + cComando, 0, .T. )
oShell := NIL
return iif( RET = 0, .T., .F. )
Eduardo Mendes
Re: substituir comando RUN
Olá Eduardo
Muito obrigado pela função que você postou, pois era tudo que eu precisava.
Estou usando Xharbour e queria chamar o notepad para abrir um relatório que gravei no HD.
Estava usando o comando RUN mas ele abria uma tela preta, além de chamar o NOTEPAD.
Assim era necessário que o usuário fechasse a tela preta.
No entanto tive que fazer um ajuste na sua rotina porque do jeito que ela está, ela trava a execução do
programa principal até que o notepad seja fechado.
Assim a linha: RET := oShell:Run( "%comspec% /c " + cComando, 0, .T. )
Ficou assim: RET := oShell:Run( "%comspec% /c " + cComando, 0)
Achei muito interessante o WScript.Shell pois através dele pode-se alterar o registro do windows, criar atalhos,
executar programas.
Um abraço,
Luizao
Muito obrigado pela função que você postou, pois era tudo que eu precisava.
Estou usando Xharbour e queria chamar o notepad para abrir um relatório que gravei no HD.
Estava usando o comando RUN mas ele abria uma tela preta, além de chamar o NOTEPAD.
Assim era necessário que o usuário fechasse a tela preta.
No entanto tive que fazer um ajuste na sua rotina porque do jeito que ela está, ela trava a execução do
programa principal até que o notepad seja fechado.
Assim a linha: RET := oShell:Run( "%comspec% /c " + cComando, 0, .T. )
Ficou assim: RET := oShell:Run( "%comspec% /c " + cComando, 0)
Achei muito interessante o WScript.Shell pois através dele pode-se alterar o registro do windows, criar atalhos,
executar programas.
Um abraço,
Luizao
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: substituir comando RUN
Olá Luizão , Bem vindo ao Fórum.
Outra opção é esse do link abaixo que o Colega Marcelo postou.
viewtopic.php?f=43&t=4103
Outra opção é esse do link abaixo que o Colega Marcelo postou.
viewtopic.php?f=43&t=4103
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql


