
Originariamente inviata da
GrandeTimoniere
Ti ringrazio! Mi sei stato di grande aiuto. Ma ho ancora un piccolo problema.
Anzitutto:
1) Ho creato un Form contenente un TextBox (che contiene il path del programma WordPad.EXE) e un Button. Il codice è banale e funziona perfettamente:
----------------------------------
Imports System
Imports System.Diagnostics
Imports System.ComponentModel
Public Class Form1
Public Aperto As Boolean
Public X As Process
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Programma As New Process()
If Aperto = True Then
X.Kill()
End If
Programma.StartInfo.UseShellExecute = False
Programma.StartInfo.FileName = TextBox1.Text
Programma.StartInfo.CreateNoWindow = False
Programma.Start()
X = Programma
Aperto = True
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Aperto = False
End Sub
End Class
--------------------------
Grazie a If ... End If Ogni volta che premo Button1 viene chiusa la sessione (eventualmente già aperta) di WordPad e ne viene creata una nuova (poco male: avrei preferito aprire un file all'interno di quella già aperta, ma mi accontento...).
2) Il fatto è che se l'utente, dopo aver aperto WordPad premendo Button1, chiude la finestra di WordPad e poi preme Button1, il programma si interrompe perché, giustamente, non "vede" più il processo WordPad da "Killare".
Bisognerebbe inserire del codice come questo:
If finestra WordPad = aperta Then X.Kill Else Continua così.
Un suggerimento? Grazie in anticipo!