Torna al Thread
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Crea una array che contiene tutti i processi attivi nel sistema
Dim Processi() As Process = Process.GetProcesses()
Dim NomeEseguibile as String="xxx" 'In questa variabile ci metti il nome dell'eseguibile del programma senza .exe ad esempio se dopo il debug verrà generato l'eseguibile prova.exe tra le virgolette metti "prova"
'Si passa a controllare ogni elemento dell'array(ogni processo) se è uguale al nome del programma: cioè se il programma è già stato avviato
For i As Integer = 0 To Process.GetProcesses.Length - 1
'Se il nome del processo è uguale al nome del programma chiude il programma
If Processi(i).ProcessName = NomeEseguibile Then
'Qui puoi mettere un messaggio che avvisa che il programma è già in esecuzione
Me.Close()
End If
Next
End Sub