Buen Dia..
tengo un codigo para iniciar un proceso con una ventana sobre poniendola y que cuando se cierre esa ventana se cierre con el proceso que se inicio.
donde hay una parte donde inicia el proceso sin tener una ruta especifica
Código:
Dim programName As String = "SetUp_v100001.exe"
System.Diagnostics.Process.Start(Application.StartupPath & "\" & programName)
pero dentro de este codigo no puedo buscar la forma de que inicie
el proceso de forma maximizada
como lo resuelvo??
si les sirve el codigo lo dejo aki
Código:
Public Class SetUp_v101
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim programName As String = "SetUp_v100001.exe"
System.Diagnostics.Process.Start(Application.StartupPath & "\" & programName)
End Sub
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Me.WebBrowser1.AllowWebBrowserDrop = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = DateString
Label2.Text = TimeOfDay
End Sub
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
If e.CloseReason = CloseReason.UserClosing Then
If MsgBox("Realmente desea salir?", MsgBoxStyle.YesNo, "Finalizar SetUp") = MsgBoxResult.Yes Then
Application.Exit()
For Each prc As Process In Process.GetProcesses
If prc.MainWindowTitle.Contains("Setup_v100001") Then
prc.Kill()
ElseIf prc.ProcessName = "SetUp_v100001.exe" Then
prc.Kill()
Me.Close()
End If
Next
Else
e.Cancel = True
End If
End If
End Sub
End Class
Usa la Class 'Process', establece la propiedad 'WindowStyle' (siempre que la ventana del proceso lo permita), y suscríbete al evento 'Exited'.
Ejemplo:
Public Class SetUp_v101
Dim psi As New ProcessStartInfo With
{
.FileName = IO.Path.Combine(Application.StartupPath, "SetUp_v100001.exe"),
.WindowStyle = ProcessWindowStyle.Maximized
}
Dim WithEvents p As New Process With
{
.StartInfo = psi,
.EnableRaisingEvents = True
}
Private Shadows Sub Load(ByVal sender As Object, ByVal e As EventArgs) _
Handles MyBase.Load
Using proc As Process = p
proc.Start()
proc.WaitForExit()
End Using
End Sub
Private Shadows Sub FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) _
Handles MyBase.FormClosing
Select Case e.CloseReason
Case CloseReason.ApplicationExitCall
' Esto sucede cuando el usuario cierra el proceso que hemos ejecutado, en la llamada 'Application.Exit()'.
Case CloseReason.UserClosing
If AskQuestion() = Windows.Forms.DialogResult.No Then
e.Cancel = True
Else
If Not p.HasExited Then
p.Kill()
End If
End If
End Select
End Sub
Private Sub p_Exited(sender As Object, e As EventArgs) _
Handles p.Exited
Application.Exit()
End Sub
Private Function AskQuestion() As DialogResult
Return MessageBox.Show("Realmente desea salir?", "Finalizar SetUp",
MessageBoxButtons.YesNo, MessageBoxIcon.Question)
End Function
End Class
PD: Las dudas sobre .NET van en el subforo dedicado a .NET
Saludos!
Muchas Gracias
Facilitaste mi vida un mil porciento..
aprendi y compartire mi conocimiento haci como ud's comparten el suyo!
:D :D :D
publique aki porque no me dieron respuesta en .NET
Lecion aprendida