[AJUDA] MODO PARA EXECUTAR

SILVAHH 07/09/2013 14:31:05
#428565
Olá amigos, estou aqui novamente com mais um problema =/

gostaria de saber se tem algum modo de criar um modo de execução do programa pra que ele seja executado apenas quando meu programa principal chama ele!

São 2 programas, 1 principal que fica rodando e outro auxiliar, esse programa auxiliar gostaria que abrisse somente quando o programa principal executasse ele, caso alguém de 2 cliques no programa auxiliar para executá-lo o programa auxiliar de uma mensagem de erro!

Estive procurando por inicialização por parâmetros mas só achei tópicos falando sobre como executar um .exe com parâmetros e nada falando como configurar o .exe que é executado por esses parâmetros!

Caso alguém saiba como fazer agradeceria muito se pudesse me ajudar, estou mesmo precisando fazer isso =/
SINCLAIR 07/09/2013 22:10:36
#428569
Amigo...

Chame seu programa passando um parâmetro que somente você conhece, como uma senha. Suponhamos que seja ABC45

Você chamaria assim

[Ô]seuprograma.exe ABC45[Ô]

Logo no início de seu programa você coloca assim (algorítmo)

SE parametro <> [Ô]ABC45[Ô]

EncerraPrograma

FIM SE

Portanto, seu programa quando for iniciado por 2 cliques, o parâmetro nunca será o que você fornece e apenas você conhece (no exemplo ABC45), portanto o programa será encerrado. Mesmo que os usuários executem o seu programa passando algum parâmetro, também não executa porque nunca será igual o seu (ABC45), que somente você conhece.

Tudo de bom.

SILVAHH 07/09/2013 23:01:52
#428571
Citação:

:
Amigo...

Chame seu programa passando um parâmetro que somente você conhece, como uma senha. Suponhamos que seja ABC45

Você chamaria assim

[Ô]seuprograma.exe ABC45[Ô]

Logo no início de seu programa você coloca assim (algorítmo)

SE parametro <> [Ô]ABC45[Ô]

EncerraPrograma

FIM SE

Portanto, seu programa quando for iniciado por 2 cliques, o parâmetro nunca será o que você fornece e apenas você conhece (no exemplo ABC45), portanto o programa será encerrado. Mesmo que os usuários executem o seu programa passando algum parâmetro, também não executa porque nunca será igual o seu (ABC45), que somente você conhece.

Tudo de bom.



Primeiramente obrigado pelo post amigo!
Seria exatamente isso que resolveria meu problema, o problema é que eu não faço ideia de como por isso em vb.net =/
PEGUDO 08/09/2013 08:41:21
#428574
Resposta escolhida
Poderia também verificar nos processos se o programa principal está rodando:
Ficaria mais ou menos assim no Load do programa auxiliar:
       [txt-color=#0000f0] For Each [/txt-color]Processo [txt-color=#0000f0]As Process [/txt-color][txt-color=#0000f0]In[/txt-color] Process.GetProcesses
[txt-color=#0000f0]If Not [/txt-color]Processo.ProcessName = [txt-color=#e80000][Ô]Nome_Do_Programa_Principal[Ô][/txt-color] [txt-color=#0000f0]Then[/txt-color]
MsgBox([txt-color=#e80000][Ô]Este programa não pôde ser executado.[Ô][/txt-color])
[txt-color=#0000f0]End
End If[/txt-color]
Next
SILVAHH 08/09/2013 10:41:38
#428575
Citação:

:
Poderia também verificar nos processos se o programa principal está rodando:
Ficaria mais ou menos assim no Load do programa auxiliar:

       [txt-color=#0000f0] For Each [/txt-color]Processo [txt-color=#0000f0]As Process [/txt-color][txt-color=#0000f0]In[/txt-color] Process.GetProcesses
[txt-color=#0000f0]If Not [/txt-color]Processo.ProcessName = [txt-color=#e80000][Ô]Nome_Do_Programa_Principal[Ô][/txt-color] [txt-color=#0000f0]Then[/txt-color]
MsgBox([txt-color=#e80000][Ô]Este programa não pôde ser executado.[Ô][/txt-color])
[txt-color=#0000f0]End
End If[/txt-color]
Next



Obrigado pelo post amigo!
Mas já pensei nisso, na verdade eu até usei em outros programas, mas o problema é que se descobrem isso, simplesmente podem criar ou renomear um programa qualquer para o nome do meu principal e assim esse auxiliar vai rodar [Ô]achando[Ô] que está sendo executado normalmente. Já fiz isso mas verificando hash, só que fica muito pesado para inicialização, porque o auxiliar praticamente abre e fecha!
PEGUDO 09/09/2013 10:34:57
#428604
Então tenta assim:
Quando você quiser que o outro executável rode, coloque esta linha no programa principal:
Process.Start([txt-color=#e80000][Ô]Local_do_Executável_Secundário[Ô][/txt-color],[txt-color=#e80000][Ô]352189[Ô][/txt-color])

No Load do programa secundário:
Dim Parametro As String = Command()
If Parametro = [txt-color=#e80000][Ô]352189[Ô][/txt-color] Then
[txt-color=#007100][ô]Executa o programa[/txt-color]
Else
MsgBox([txt-color=#e80000][Ô]Você não tem permissão[Ô][/txt-color])
End
End If

Estou sem o Visual Studio, mas testa aí. O caminho é por aí.
NOVATO2013 09/09/2013 16:02:41
#428618
Citação:

:
Então tenta assim:
Quando você quiser que o outro executável rode, coloque esta linha no programa principal:

Process.Start([txt-color=#e80000][Ô]Local_do_Executável_Secundário[Ô][/txt-color],[txt-color=#e80000][Ô]352189[Ô][/txt-color])

No Load do programa secundário:
Dim Parametro As String = Command()
If Parametro = [txt-color=#e80000][Ô]352189[Ô][/txt-color] Then
[txt-color=#007100][ô]Executa o programa[/txt-color]
Else
MsgBox([txt-color=#e80000][Ô]Você não tem permissão[Ô][/txt-color])
End
End If

Estou sem o Visual Studio, mas testa aí. O caminho é por aí.



Nossa amigo, eu achando que fosse milhares de vezes mais complicado, você resolveu o problema perfeitamente, estou muito agradecido mesmo pela sua ajuda ^_^
Tópico encerrado , respostas não são mais permitidas