[AJUDA] MODO PARA EXECUTAR
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 =/
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.
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 =/
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
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!
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Ã.
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 ^_^