Comando Bat sem janela

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

Moderador: Moderadores

Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Comando Bat sem janela

Mensagem por rosalvo rosa »

Amigos, boa noite.


Estou usando em meu sistema um linha de comando onde uso um arquivo .Bat
RUN COMANDO.BAT

Compilei com -gtwvt, usando a VLib.prg que baixei aqui do forum.

Acontece que eu gostaria de eliminar a janela do cmd.exe que aparece.

Alguém poderia me ajudar ?

Obrigado.

Rosalvo
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Comando Bat sem janela

Mensagem por Jairo Maia »

Olá Rosalvo,

Você vai precisar usar o comando Start /b para que a janela não fique esperando o comando terminar. Poste o conteúdo do arquivo .bat que fica mais fácil explicar.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Comando Bat sem janela

Mensagem por JoséQuintas »

Pelo que entendi, quer eliminar a janela do prompt.
BAT é executado em janela de prompt.
Já tentou substituir a necessidade desse comando.bat por outra coisa?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Comando Bat sem janela

Mensagem por Jairo Maia »

JoséQuintas escreveu:Pelo que entendi, quer eliminar a janela do prompt.
BAT é executado em janela de prompt.
Sim. Porisso precisa usar o comando Start. Mas dependendo de como estiver o .bat dele isso não será possível, pois os comandos serão executados em sequência sem a janela do prompt.
JoséQuintas escreveu:Já tentou substituir a necessidade desse comando.bat por outra coisa?
Essa foi a idéia de solicitar o conteúdo do arquivo. Tentar sugerir uma alternativa. Também acho melhor substituir o .bat.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Comando Bat sem janela

Mensagem por JoséQuintas »

Descuido meu, não enxerguei o "poste o conteúdo do bat".
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Comando Bat sem janela

Mensagem por Itamar M. Lins Jr. »

Ola!
Veja se isto ajuda.

Código: Selecionar todos

In case someone here is looking for the solution to just simply execute/open any external file, the following code works under windows (7 or xp) and Hb3.0 to open an excel file:

cFilename:="tst.xls"
hb_run(cFilename) // opens the file but cmd black box is invoked initially.....

Here no cmd black box appears, only file gets opened:
wapi_ShellExecute( 0, 'open', cFilename, , 0, 0 )

Código: Selecionar todos

      hb_processRun( <cCommand>, [ <cStdIn> ], [ @<cStdOut> ], ;
                     [ @<cStdErr> ], [ <lDetach> ] ) -> <nResult>
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Comando Bat sem janela

Mensagem por Itamar M. Lins Jr. »

Mais informações, favor olhar este link, pois o forum não deixa postar algumas coisas, por questões de segurança.
https://groups.google.com/forum/#!topic ... nMYByVh3ZI

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Comando Bat sem janela

Mensagem por rosalvo rosa »

Amigos, boa noite.

Obrigado pessoal.

A dica do Itamar funcionou. :

wapi_ShellExecute( 0, 'open', "comando.bat" , 0, 0 )


Boa mesmo.

Agora o comando BAT executa e nenhuma intrometida janela aparece.

Abraços

Rosalvo
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Comando Bat sem janela

Mensagem por Jairo Maia »

Itamar M. Lins Jr. escreveu:Here no cmd black box appears, only file gets opened:
wapi_ShellExecute( 0, 'open', cFilename, , 0, 0 )
Muito legal essa. Legal mesmo. Valeu.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
dbdc5554
Usuário Nível 3
Usuário Nível 3
Mensagens: 149
Registrado em: 03 Dez 2012 08:49
Localização: uberlandia-MG

Comando Bat sem janela

Mensagem por dbdc5554 »

Opa aproveitando o gancho....

estes parametros....

sera que eles ou alguma outra forma permite mandar executar um exe e FICAR aguardando ele ser finalizado ?


Já postei a um tempo atrás e na realidade Não achei uma solução que funcionasse.

PAiva
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Comando Bat sem janela

Mensagem por Itamar M. Lins Jr. »

Ola!
FICAR aguardando ele ser finalizado ?
Veja o doc, pois tem parâmetro para isso.

hb_processrun veja o parâmetro lDetach.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Comando Bat sem janela

Mensagem por Itamar M. Lins Jr. »

Ola!
Inclusive o hb_processrun pega o retorno da tela em uma variável, e você pode manipular depois.
Por exemplo:

Código: Selecionar todos

hb_processRun("dir "+cPath+"/dados",,@cArquivos)
If mlcount(cArquivos) > 0
...
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Responder