COMUNICACAO ENTRE FORMS
criei uma aplicação, e ela precisa ser atualizada semanalmente, só que o [Ô]updater[Ô] é um outro aplicativo a parte, no qual eu chamo ele do meu aplicativo, só que se o usuario abrir o [Ô]updater.exe[Ô] ele atualiza normal... oque eu queria é que esse [Ô]updater.exe[Ô] só funciona-se clicando no botao atualizar do meu programa.
A duvida é: Tem como enviar um comando pra ele pra ele abrir só quando receber esse comando.
tipo: Process.Start(My.Application.StartupPath & [Ô]\updater.exe +executar[Ô]) ou algo do tipo sei la... uahauha
des de ja vlw galera
A duvida é: Tem como enviar um comando pra ele pra ele abrir só quando receber esse comando.
tipo: Process.Start(My.Application.StartupPath & [Ô]\updater.exe +executar[Ô]) ou algo do tipo sei la... uahauha
des de ja vlw galera
Vamos la para chamar o seu atualizador faça assim
Mais informações leia aqui nesse link: LINK_ARGUMENTOS
Para ler use essa materia do macoratti... http://www.macoratti.net/vbn_arg1.htm
ai voce passa o parametro exemplo +atualizar e le la no atualizador, se ao abrir o atualizador esse parametro nao existir tu manda uma messagebox informando que o atualizador tem que ser chamado pelo programa principal.
ou para ler simplismente adicione essa classe ao seu atualizador..
Espero que ajude
Module Module1
Sub Main()
[ô] One file parameter to the executable
Dim sourceName As String = [Ô]ExampleText.txt[Ô]
[ô] The second file parameter to the executable
Dim targetName As String = [Ô]Example.gz[Ô]
[ô] New ProcessStartInfo created
Dim p As New ProcessStartInfo
[ô] Specify the location of the binary
p.FileName = [Ô]C:\7za.exe[Ô]
[ô] Use these arguments for the process
p.Arguments = [Ô]a -tgzip [Ô][Ô][Ô] & targetName & [Ô][Ô][Ô] [Ô][Ô][Ô] & sourceName & [Ô][Ô][Ô] -mx=9[Ô]
[ô] Use a hidden window
p.WindowStyle = ProcessWindowStyle.Hidden
[ô] Start the process
Process.Start(p)
End Sub
End Module
Mais informações leia aqui nesse link: LINK_ARGUMENTOS
Para ler use essa materia do macoratti... http://www.macoratti.net/vbn_arg1.htm
ai voce passa o parametro exemplo +atualizar e le la no atualizador, se ao abrir o atualizador esse parametro nao existir tu manda uma messagebox informando que o atualizador tem que ser chamado pelo programa principal.
ou para ler simplismente adicione essa classe ao seu atualizador..
Namespace My
Class MyApplication
#If _MyType = [Ô]WindowsForms[Ô] Then
Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As ApplicationServices.StartupEventArgs) Handles Me.Startup
If e.CommandLine.Count = 0 Then
MessageBox.Show([Ô]Nenhum argumento passado[Ô])
End
Else
MessageBox.Show(e.CommandLine.Item(0).ToString)
End If
End Sub
[ô]OnInitialize is used for advanced customization of the My Application Model (MyApplication).
[ô]Startup code for your specific application should be placed in a Startup event handler.
<Global.System.Diagnostics.DebuggerStepThrough()> _
Protected Overrides Function OnInitialize(ByVal commandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection(Of String)) As Boolean
Return MyBase.OnInitialize(commandLineArgs)
End Function
#End If
End Class
End Namespace
Espero que ajude
vou testa assim que chegar em casa as 10:00 e ja posto o resultado... vlw
deu erro, não precisa dar referencia a alguma coisa?
tem que postar o erro amigo. o stacktrace para se saber o que esta errado
Consegui desse modo será que tem um modo mais facil de se fazer?
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
Environment.GetCommandLineArgs(1).ToString()
Catch ex As Exception
Me.Dispose()
End Try
If Environment.GetCommandLineArgs(1).ToString = [Ô]autoupdateon[Ô] Then
MsgBox([Ô]argumento correto[Ô])
End If
End Sub
Tópico encerrado , respostas não são mais permitidas