Chamar programa Windows pelo xharbour
Moderador: Moderadores
Chamar programa Windows pelo xharbour
Como consigo chamar um programa do Windows, tipo calc.exe pelo xharbour sem ter que usar o comando "RUN C:\WINDOWS\CALC.EXE" pois ao utilizá-lo, é aberto o console do ms-dos?
Tente utilizar a função HB_OpenProcess(). Detalhes no help. Se não tiver help, pegue um no meu site, clicando aqui.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
Código: Selecionar todos
myrun("calc.exe")
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. )
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Abaixo dois exemplos:
Modo console:
Em Fivewin:
Modo console:
Código: Selecionar todos
ShellExecute("calc")
Código: Selecionar todos
*************************************
Function Set_Calc() //Calculadora()
*************************************
LOCAL hWnd
If ( hWnd := SeekCalculadora() ) == 0
WinExec( 'Calc.Exe', SW_NORMAL )
Else
BringWindowToTop( hWnd )
ShowWindow( hWnd, SW_RESTORE )
Endif
Return Nil
*********************************
STATIC Function SeekCalculadora()
*********************************
LOCAL aCaptions := { 'Calc', 'Calculator', 'Calculadora' }
LOCAL nPos, hWnd
For nPos = 1 to Len(aCaptions)
If ( hWnd := FindWindow( 0, aCaptions[nPos] ) ) > 0
Return hWnd
EndIf
Next
Return hWnd
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Curiosidade: o que a Microsoft diz sobre a função WinExec: "This function is provided only for compatibility with 16-bit Windows. Applications should use the CreateProcess function."
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Não entendi nada!Maligno escreveu:"This function is provided only for compatibility with 16-bit Windows. Applications should use the CreateProcess function."
Jânio
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
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
"Essa função é fornecida somente para compatibilidade com o Windows de 16 bits. Os aplicativos devem usar a função CreateProcess"janio escreveu:Não entendi nada!Maligno escreveu:"This function is provided only for compatibility with 16-bit Windows. Applications should use the CreateProcess function."
:(Neg #-) :'(
Jânio
A WinExec() é da API do Windows.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
... que por sua vez, é a função da API do Windows utilizada pela função HB_OpenProcess()."Essa função é fornecida somente para compatibilidade com o Windows de 16 bits. Os aplicativos devem usar a função CreateProcess ..."
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!



