Ho provato come hai detto tu ma non funziona, forse sbaglio a dichiarare ex di tipo System.ComponentModel.Win32Exception? ...che tipo di oggetto dovrei utilizzare in questo caso?
'inserisco nella'array programmi le applicazioni utilizzate
Dim NomeProcesso As String
myProcesses = Process.GetProcesses()
Try
For Each myProcess In myProcesses
NomeProcesso = myProcess.ProcessName
contaProg = 0
For contaProg = 0 To (ProgrammiTab.Count - 1)
If NomeProcesso = ProgrammiTab.Item(contaProg) Then
If Not programmi.Contains(NomeProcesso) Then
programmi.Add(NomeProcesso)
End If
End If
Next
Next
Catch ex As System.ComponentModel.Win32Exception ' è questo l'oggetto da utilizzare?
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Errore in " + ex.TargetSite.ToString)
End Try