Página 1 de 2
iniciar programa minimizado ou invisível
Enviado: 20 Jul 2011 10:42
por cjp
Pessoal, estou iniciando um programa compilado com o xHarbour por meio do agendamento de tarefas do Windows. É um programinha simples, que executa uma pequena função e encerra rapidamente. O problema é que a janela dele atrapalha o usuário, que acaba o fechando antes (clicando no X da janela) antes que ele termine.
Por isso, gostaria de saber se existe algum jeito de iniciar esse programa em janela minimizada, ou até mesmo rodá-lo em background, sem janela visível ao usuário.
Já tentei ver isso no próprio agendamento de tarefas do Windows, mas não consegui.
Alguém poderia me ajudar?
Inacio
iniciar programa minimizado ou invisível
Enviado: 22 Jul 2011 09:58
por luizservulo
utilize request gtnul
iniciar programa minimizado ou invisível
Enviado: 27 Jul 2011 10:56
por cjp
Amigo, vc poderia me dar mais detalhes? Não faço ideia do que seja isso.
Grato
Inacio
iniciar programa minimizado ou invisível
Enviado: 28 Jul 2011 09:03
por jamazevedo
Um pequeno exemplo:
--------------------
background.prg
Código: Selecionar todos
procedure main
local nhandle := fcreate( "log.txt" )
fwrite( nhandle , "esse comando foi executado em background em " + dtoc( date() ) + " as " + time() )
fclose( nhandle )
--------------------
O arquivo para compilação
background.hbp
Código: Selecionar todos
# compila so os alterados
-inc
-fullstatic
-gtnul
# lib que serao licadas
-lhbct
-lxhb
# nome do executavel
-obackground
# fontes que serao compilados e lincados
background.prg
Agora é só compilar
hbmk2 background.hbp
E roda o executável
./background
Estou utilizando: Linux Ubuntu 10.04 e Harbour 2.1.0Beta 2( 14955)
iniciar programa minimizado ou invisível
Enviado: 05 Ago 2011 10:33
por cjp
Então minha versão do xHarbour é diferente. Ela compila com o build. Tem como fazer isto nesta versão?
Grato
Inacio
Abracos
iniciar programa minimizado ou invisível
Enviado: 05 Ago 2011 15:54
por jamazevedo
Quando eu utilizada o xHarbour, para gerar o arquivo de compilação, tinha um utilitário chamado
hbmake.
Esse utilitário criava um arquivo de compilação com a extensão
.bc
Você pode editar o arquivo
.bc e procurar pelo seguinte parâmetro...
...e acrescentar o
-gtnul que está no final da linha acima.
Eu não recordo, agora, se é possível fazer isso diretamente através do utilitário
hbmake.
iniciar programa minimizado ou invisível
Enviado: 10 Ago 2011 08:23
por cjp
Então a versão que vc usava é diferente da minha. A minha não usa o hbmake, usa o build. Ela não cria arquivo .bc, ela cria arquivo .c, mas nesse arquivo não tem a linha que vc mencionou. Será que não tem outro jeito de resolver isso?
Grato
Inacio
iniciar programa minimizado ou invisível
Enviado: 10 Ago 2011 15:42
por Jairo Maia
Olá Inácio,
cjp escreveu:A minha não usa o hbmake, usa o build.
Acredito que seja o xBuild, é isso? Se for, para rodar um programa no modo invisível, veja o exemplo abaixo:
Código: Selecionar todos
REQUEST HB_GT_NUL
REQUEST HB_GT_NUL_DEFAULT
//Function Main() // Deixe comentada esta linha para compilação direta
? "Vc não vai ver esta linha"
Alert( "Alert Ignorado. Vc não verá a Janela do Alert" )
MemoWrit( "log.txt", "Esse comando foi executado em background em " + DToC( Date() ) + " as " + Time() )
inkey(20) // aguarde 20 segundos
Return
Compile assim:
xBuild NomeDoExemplo.prg
Rode o exemplo e aguarde 20 segundos, depois edite o arquivo
log.txt e veja que foi executado.
Outro teste: Rode novamente o exemplo, enquando aguarda o tempo, digite
CTRL+ALT+DEL para abrir o gerenciador de tarefas, e na aba
Processos, localize o nome do seu exemplo e aguarde ele terminar.
iniciar programa minimizado ou invisível
Enviado: 15 Ago 2011 09:02
por cjp
Meu caro, não funcionou; a janela continua aparecendo
Primeiro, não consegui compilar com a linha 3 comentada, dá erro na compilação. Compilando com a linha Funcion Main() ativa, ao chamar o programa pelo Agendador de Tarefas, ele abre a janela normalmente. Roda tudo certo, inclusive a mensagem do Alert não aparece, mas a janela aparece. E era justamente isso que eu queria evitar: que abrisse a janela.
Como eu faço?
iniciar programa minimizado ou invisível
Enviado: 15 Ago 2011 09:12
por jamazevedo
Rapaz parece que você chegou onde queria...
Roda tudo certo, inclusive a mensagem do Alert não aparece,...
...mas a janela aparece. E era justamente isso que eu queria evitar: que abrisse a janela.
Para que a janela não apareca adicione o aplicativo criado ao
Agendador de Tarefas do Windows assim será executado em
background sem aparecer nenhuma janela, a janela que está aparecendo é poque você está dando clique em cima do executável.
iniciar programa minimizado ou invisível
Enviado: 18 Ago 2011 10:49
por cjp
Mas é justamente isto que eu estou fazendo: está no Agendador de Tarefas do Windows. Não estou dando clique no executável.
Estranho isso.
iniciar programa minimizado ou invisível
Enviado: 24 Ago 2011 09:18
por cjp
Sera que tem alguma solução pra isso, alguem poderia me ajudar?
iniciar programa minimizado ou invisível
Enviado: 24 Ago 2011 09:49
por Itamar M. Lins Jr.
Usando Harbour 3.1 com Hwgui.
Código: Selecionar todos
#include "windows.ch"
#include "guilib.ch"
Function Main
Local oMainWindow, oTrayMenu, oIcon := HIcon():AddResource("ICON_1")
INIT WINDOW oMainWindow MAIN TITLE "Example"
CONTEXT MENU oTrayMenu
MENUITEM "Message" ACTION MsgInfo( "Tray Message !" )
SEPARATOR
MENUITEM "Exit" ACTION EndWindow()
ENDMENU
oMainWindow:InitTray( oIcon,,oTrayMenu,"TestTray" )
ACTIVATE WINDOW oMainWindow NOSHOW
oTrayMenu:End()
Return Nil
Simples não ?
Saudações,
Itamar M. Lins Jr.
iniciar programa minimizado ou invisível
Enviado: 26 Ago 2011 08:51
por cjp
Prezados amigos, na compilação, nao esta achando o windows.ch, onde era pra estar esta arquivo? Vc poderia mandá-lo?
Att
Inacio
iniciar programa minimizado ou invisível
Enviado: 04 Set 2011 01:33
por cjp
Pessoal, será que alguém poderia me ajudar a finalizar esta pendência?
Obrigado a todos.