Título: iniciar proceso sin ruta maximizado! y cerrarlo desde el proyecto
Publicado por: StbanMC en 18 Marzo 2014, 15:59 pm
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 especificaCó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 maximizadacomo 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
Título: Re: iniciar proceso sin ruta maximizado! y cerrarlo desde el proyecto
Publicado por: Eleкtro en 18 Marzo 2014, 16:32 pm
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 .NETSaludos!
Título: Re: iniciar proceso sin ruta maximizado! y cerrarlo desde el proyecto
Publicado por: StbanMC en 18 Marzo 2014, 18:18 pm
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
|