GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Executando um programa sem mostra-lo?

3 participantes

Ir para baixo

Executando um programa sem mostra-lo? Empty Executando um programa sem mostra-lo?

Mensagem por Markituh Qua 28 Abr 2010, 17:56

Olá a todos. Estou a desenvolver uma aplicação no Game Maker. Gostaria de saber se tem um meio de abrir um arquivo externo sem que este seja mostrado na tela. Digamos assim... "Invisível"

Obrigado.
Editado por CyraxX: Topico resolvido.
Trancado.
Se o autor quiser reabrir o tópico envie MP para algum administrador ou moderador.
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Executando um programa sem mostra-lo? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Cainã Qua 28 Abr 2010, 18:00

Se você se refere a um arquivo em Batch (DOS) é bem simples, basta gerar um EXE invisível usando o Bat To Exe. Se for algum comando em DOS você pode simplesmente usar o execute_program. Já se for algum outro programa o unico jeito eu acho que seja o programa ja ser invisível.
Cainã
Cainã

Data de inscrição : 07/03/2010
Reputação : 1
Número de Mensagens : 1335
Prêmios : Executando um programa sem mostra-lo? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://cai.na.tl/

Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Markituh Qua 28 Abr 2010, 18:07

È que tipo. Quero executar códigos no Prompt de Comando através do GM sem que ele apareça na tela,entende? Porque toda vez que uso ele aparece.

Aproveitando o tópico... Tem como eu executar mais de um comando num mesmo argumento? Eu faço assim:
Código:
execute_shell('cmd.exe','cd '+string(global.dir))
execute_shell('cmd.exe','copy /b '+string(global.arquivo)+" "+string(global.arquivo_saida))
Ele abre 2 prompts de comando,só que,o segundo código,em vez de executar o copy,ele mostra a mesma coisa do primeiro(a função "cd").
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Executando um programa sem mostra-lo? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Cainã Qua 28 Abr 2010, 18:31

Tenta usar a função execute_program:

Código:
execute_program('cd '+string(global.dir),0,false);

Ou cria um arquivo de batch que você edita com o Game Maker inserindo a sua string.
Cainã
Cainã

Data de inscrição : 07/03/2010
Reputação : 1
Número de Mensagens : 1335
Prêmios : Executando um programa sem mostra-lo? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://cai.na.tl/

Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por PedroX Qua 28 Abr 2010, 18:54

tenta isso:
Código:

linha1="cd "+string(global.dir)
linha2="copy /b "+string(global.arquivo)+" "+string(global.arquivo_saida)

file=file_text_open_write("nome.bat")//muda o nome e deixa o .bat
file_text_write_string(file,linha1)//nao muda daqui em diante
file_text_writeln(file)
file_text_write_string(file,linha2)
file_text_close(file)
execute_shell(file,0)

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Executando um programa sem mostra-lo? Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Markituh Qua 28 Abr 2010, 23:28

Pedro,seu código não deu muito certo. Ele mostra a pasta da aplicação e não faz mais nada depois disso. E além do mais,o bat estava assim quando fui olhar:
Código:
cd
copy /b C:\Documents and Settings\JOSE\Meus documentos\codshell.txt+ arquivo.ext
Cainã,seu código execute_program não sortiu nenhum efeito...

O que eu quero,é improvisar o uso do DOS para a junção de arquivos num simples programa. Eis um print do programa:
Executando um programa sem mostra-lo? Printprogjunt

O "Open" abre um diálogo para seleção de arquivos. O "Start" mostra um campo de texto para escolher o arquivo de saída e então começar a junção.

Então para não dar um ar de "peba" ao programinha,não quero que o DOS apareça na cara do usuário.

Obrigado
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Executando um programa sem mostra-lo? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Convidad Qui 29 Abr 2010, 01:12

Há uma dll lá no repositório gmtoolbox, se chama silent_dos, que injeta qualquer comando do shell, porém oculto:

http://www.gmtoolbox.com

Você também poderia usar o Delphi, e criar um pequeno exe (que se oculta) que chama outro processo oculto também.

Isso define que o Form principal ficará oculto (tem que ser posto antes do Application.CreateForm):
Código:
Application.ShowMainForm := False;

Essa função chama um programa sem mostrá-lo:
Código:
WinExec('c:\command.com /c COLOQUE_O_COMANDO', sw_Hide);

Mas isso seria mais uma "gambiarra" porque serão três processos abertos ao invés de dois (usando a dll).
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Markituh Qui 29 Abr 2010, 08:24

Não tenho o Delphi... Da última vez que usei ele aqui no pc apareceu vários erros sinistros... Depois que desinstalei,ficou beleza. Acho que vou ter que usar a DLL mesmo. Vou testá-la...

Depois de testar...
Rapaz,não funcionou... Não deu nenhum erro,mas ele não cria o arquivo de saída.

Edit
Voltei com o bat. Dei um jeito que deixou tudo em ordem. Só que ele mostra o diretório da aplicação. Mas o bat tá funcionando,cliquei nele e apareceu o arquivo de saída. Só queria achar uma maneira de não aparecer o maldito diretório da aplicação >.<

Obrigado a todos.
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Executando um programa sem mostra-lo? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Convidad Qui 29 Abr 2010, 23:23

Rapaz,não funcionou... Não deu nenhum erro,mas ele não cria o arquivo de saída.

Bom... então nós temos que ver se o erro foi na chamada da dll ou na elaboração do comando. Faça um teste aí, chame a dll e peça-a pra executar essa linha:

Código:
echo.>teste.txt

Se o arquivo teste.txt for criado na pasta do seu jogo, então a dll está conseguindo executar o comando.

Tem como eu executar mais de um comando num mesmo argumento? Eu faço assim:

Tem sim, basta concatenar as linhas de comando com ""&&" (sem aspas). Por exemplo:

Código:
cd\&&cd%HOMEDRIVE%&&dir/b/on/s>>listadearquivos.txt

Uso do DOS para a junção de arquivos num simples programa.

Você pode fazê-lo pelo Game Maker mesmo abrindo o primeiro arquivo (em modo binário), lendo o conteúdo e reescrevendo no segundo arquivo. Mas acho que a linda de comando será mais rápido...

Voltei com o bat. Dei um jeito que deixou tudo em ordem. Só que ele mostra o diretório da aplicação.

Se você estiver se referindo ao título da janela do prompt, basta trocá-lo com o comando title. Por exemplo:

Código:
title Mesclando arquivos...

Boa sorte.
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Markituh Qui 29 Abr 2010, 23:40

Capitão Commando escreveu:
Voltei com o bat. Dei um jeito que deixou tudo em ordem. Só que ele mostra o diretório da aplicação.

Se você estiver se referindo ao título da janela do prompt, basta trocá-lo com o comando title.
Estou me referindo a: Quando o arquivo bat é executado no execute_shell,o diretório do projeto aparece na tela e o arquivo de saída não é gerado...

O método bat está bom pra mim,o único problema é a questão do diretório e de não gerar o arquivo de saida.

Obrigado.
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Executando um programa sem mostra-lo? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Convidad Qui 29 Abr 2010, 23:45

Estou me referindo a: Quando o arquivo bat é executado no execute_shell,o diretório do projeto aparece na tela e o arquivo de saída não é gerado...

Usa esse comando e olha se resolve:

Código:
prompt $S

Ele deixa a linha do prompt com um espaço em branco. Só que isso é válido para apenas a janela que executa, então, para cada execute_shell(), você tem que usá-lo antes.

O método bat está bom pra mim,o único problema é a questão do diretório e de não gerar o arquivo de saida.

Você fez o teste que eu falei? Diz como você tá gerando esse arquivo. É pela cópia ou por criação de um novo? Me explica o que você quer fazer pra eu tentar te ajudar.
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Markituh Qui 29 Abr 2010, 23:59

Eu to usando o comando copy para juntar vários arquivos num arquivo de saída com tal nome e tal extensão. Mas toda vez que o GM vai executar o bat,ele abre a pasta do projeto e não gera o arquivo de saída.
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Executando um programa sem mostra-lo? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Convidad Sex 30 Abr 2010, 00:28

ele abre a pasta do projeto

Você tá usando a função get_directory() ?

----- Editado -----

Cara, acho que vai ser mais fácil eu te mandar um exemplo. Não dá pra saber se você tá usando o get_directory() pra mesclar os arquivos dentro da pasta ou se tá mesclando um à um...

Vou fazer um exemplo aqui e te mando.

----- Editado -----

Amigo, fiz upload do exemplo:

http://www.4shared.com/file/LrqbVB33/Mesclar_arquivos.html

Teclas:
A - Adiciona um arquivo novo pra lista
R - Remove um arquivo da lista
S - Salva todos os arquivos, mesclando
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Markituh Sáb 15 maio 2010, 09:37

Obrigado Capitão,seu exemplo está perfeitíssimo. Não vou esquecer de colocar agradecimentos a você ;)
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Executando um programa sem mostra-lo? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Convidad Dom 16 maio 2010, 19:29

Markituh escreveu:Obrigado Capitão,seu exemplo está perfeitíssimo. Não vou esquecer de colocar agradecimentos a você ;)

Se quiser um pra separar os arquivos é só dar um toque. Very Happy
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Executando um programa sem mostra-lo? Empty Re: Executando um programa sem mostra-lo?

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos