Ho trovato un altro modo, tramite un'api. Magari può interessare anche a voi
codice:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_CLOSE = &H10
Private Sub Form_Load()
Dim winHwnd As Long
Dim RetVal As Long
winHwnd = FindWindow(vbNullString, "Icq Pro2003b")
If winHwnd <> 0 Then
PostMessage winHwnd, WM_CLOSE, 0&, 0&
Else
MsgBox "Icq non è aperto."
End If
End Sub
Cosi potete chiudere non un processo, ma un programma aperto. Il nome da inserire tra virgolette lo potete trovare aprendo il task manager.
Funziona alla perfezione, e si possono aggiungere + programmi.
Resta però il problema di intercettare quando viene avviato un programma.
Rimane il mio unico problema. Per favore potete spostare, se si può, nella sezione Vb? Grazie!!