Tuer un processus par VBA

Le
Pierre Henri
Bonsoir,
Je souhaite tuer un processus : Thunderbird.exe, par VBA
Je vous remercie
PH
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #21656011
Bonjour,

Un userform , une ListBox une combobox un bouton

'''''*****Code de userform1****
'(code adapté d'un exemple de: http://vb.developpez.com/faq/?page=Syste me)
Dim svc As Object
Dim myQuery As String
Dim myp

Private Sub CommandButton1_Click()
KillProcess ComboBox1
UserForm_Initialize
End Sub

Private Sub UserForm_Initialize()

On Error GoTo UIniError

Set svc = GetObject("winmgmts:rootcimv2")
myQuery = "select * from win32_process"
ListBox1.Clear
ComboBox1.Clear
For Each myp In svc.execquery(myQuery)
ListBox1.AddItem myp.Name & " = " & myp.ExecutablePath
ComboBox1.AddItem myp.Name
Next
Set svc = Nothing
Exit Sub

UIniError:
MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
Err.Clear
End Sub

Public Function KillProcess(ByVal ProcessName As String) As Boolean

Set svc = GetObject("winmgmts:rootcimv2")
myQuery = "select * from win32_process where name='" & ProcessName &
"'"
For Each myp In svc.execquery(myQuery)
myp.Terminate
Next
Set svc = Nothing
End Function
''''*********************
'LSteph


On 29 avr, 17:50, Pierre Henri <"PH Neutre"> wrote:
Bonsoir,
Je souhaite tuer un processus : Thunderbird.exe, par VBA
Je vous remercie
PH
Pierre Henri
Le #21656301
bonsoir,
Effectivement, il s'agit d'un test par lancement d'un userform
si thunderbird est ouvert le fermer automatiquement
PH Neutre
Merci beaucoup

LSteph a écrit :
Bonjour,

Un userform , une ListBox une combobox un bouton

'''''*****Code de userform1****
'(code adapté d'un exemple de: http://vb.developpez.com/faq/?page=Systeme)
Dim svc As Object
Dim myQuery As String
Dim myp

Private Sub CommandButton1_Click()
KillProcess ComboBox1
UserForm_Initialize
End Sub

Private Sub UserForm_Initialize()

On Error GoTo UIniError

Set svc = GetObject("winmgmts:rootcimv2")
myQuery = "select * from win32_process"
ListBox1.Clear
ComboBox1.Clear
For Each myp In svc.execquery(myQuery)
ListBox1.AddItem myp.Name & " = " & myp.ExecutablePath
ComboBox1.AddItem myp.Name
Next
Set svc = Nothing
Exit Sub

UIniError:
MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
Err.Clear
End Sub

Public Function KillProcess(ByVal ProcessName As String) As Boolean

Set svc = GetObject("winmgmts:rootcimv2")
myQuery = "select * from win32_process where name='" & ProcessName &
"'"
For Each myp In svc.execquery(myQuery)
myp.Terminate
Next
Set svc = Nothing
End Function
''''*********************
'LSteph


On 29 avr, 17:50, Pierre Henri <"PH Neutre"> wrote:
Bonsoir,
Je souhaite tuer un processus : Thunderbird.exe, par VBA
Je vous remercie
PH



Pierre Henri
Le #21657321
Bonsoir,
Après de nombreux tests, impossible de la faire fonctionner correctement.
Je souhaiterai avec votre aide bien sûr ;-) qu'au lancement du
userform1, Thunderbird se ferme
Merci
PH Neutre

LSteph a écrit :
Bonjour,

Un userform , une ListBox une combobox un bouton

'''''*****Code de userform1****
'(code adapté d'un exemple de: http://vb.developpez.com/faq/?page=Systeme)
Dim svc As Object
Dim myQuery As String
Dim myp

Private Sub CommandButton1_Click()
KillProcess ComboBox1
UserForm_Initialize
End Sub

Private Sub UserForm_Initialize()

On Error GoTo UIniError

Set svc = GetObject("winmgmts:rootcimv2")
myQuery = "select * from win32_process"
ListBox1.Clear
ComboBox1.Clear
For Each myp In svc.execquery(myQuery)
ListBox1.AddItem myp.Name & " = " & myp.ExecutablePath
ComboBox1.AddItem myp.Name
Next
Set svc = Nothing
Exit Sub

UIniError:
MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
Err.Clear
End Sub

Public Function KillProcess(ByVal ProcessName As String) As Boolean

Set svc = GetObject("winmgmts:rootcimv2")
myQuery = "select * from win32_process where name='" & ProcessName &
"'"
For Each myp In svc.execquery(myQuery)
myp.Terminate
Next
Set svc = Nothing
End Function
''''*********************
'LSteph


On 29 avr, 17:50, Pierre Henri <"PH Neutre"> wrote:
Bonsoir,
Je souhaite tuer un processus : Thunderbird.exe, par VBA
Je vous remercie
PH



LSteph
Le #21657441
re,

C'est une sécurité,
j'avais fait ce joujou pour moi,
je ne pensais pas que quelqu'un aurait la même utilité..
donc
tu peux avoir et plusieurs fois, parfois le même processus en cours
d'execution
ce n'est pas pour rien que je m'encombre de ce userform.
Ainsi la listbox sert elle à lister les process en cours
la combo à en selectionner un
et le bouton à le tuer.

@+

--
LSteph

"Pierre Henri" <"PH Neutre"> a écrit dans le message de
news:
Bonsoir,
Après de nombreux tests, impossible de la faire fonctionner correctement.
Je souhaiterai avec votre aide bien sûr ;-) qu'au lancement du userform1,
Thunderbird se ferme
Merci
PH Neutre

LSteph a écrit :
Bonjour,

Un userform , une ListBox une combobox un bouton

'''''*****Code de userform1****
'(code adapté d'un exemple de:
http://vb.developpez.com/faq/?page=Systeme)
Dim svc As Object
Dim myQuery As String
Dim myp

Private Sub CommandButton1_Click()
KillProcess ComboBox1
UserForm_Initialize
End Sub

Private Sub UserForm_Initialize()

On Error GoTo UIniError

Set svc = GetObject("winmgmts:rootcimv2")
myQuery = "select * from win32_process"
ListBox1.Clear
ComboBox1.Clear
For Each myp In svc.execquery(myQuery)
ListBox1.AddItem myp.Name & " = " & myp.ExecutablePath
ComboBox1.AddItem myp.Name
Next
Set svc = Nothing
Exit Sub

UIniError:
MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
Err.Clear
End Sub

Public Function KillProcess(ByVal ProcessName As String) As Boolean

Set svc = GetObject("winmgmts:rootcimv2")
myQuery = "select * from win32_process where name='" & ProcessName &
"'"
For Each myp In svc.execquery(myQuery)
myp.Terminate
Next
Set svc = Nothing
End Function
''''*********************
'LSteph


On 29 avr, 17:50, Pierre Henri <"PH Neutre"> wrote:
Bonsoir,
Je souhaite tuer un processus : Thunderbird.exe, par VBA
Je vous remercie
PH



Pierre Henri
Le #21658741
Ok Ok Ok,
Très grand merci à toi !
PH Neutre

LSteph a écrit :
re,

C'est une sécurité,
j'avais fait ce joujou pour moi,
je ne pensais pas que quelqu'un aurait la même utilité..
donc
tu peux avoir et plusieurs fois, parfois le même processus en cours
d'execution
ce n'est pas pour rien que je m'encombre de ce userform.
Ainsi la listbox sert elle à lister les process en cours
la combo à en selectionner un
et le bouton à le tuer.

@+

--
LSteph

"Pierre Henri" <"PH Neutre"> a écrit dans le message de
news:
Bonsoir,
Après de nombreux tests, impossible de la faire fonctionner correctement.
Je souhaiterai avec votre aide bien sûr ;-) qu'au lancement du
userform1, Thunderbird se ferme
Merci
PH Neutre

LSteph a écrit :
Bonjour,

Un userform , une ListBox une combobox un bouton

'''''*****Code de userform1****
'(code adapté d'un exemple de:
http://vb.developpez.com/faq/?page=Systeme)
Dim svc As Object
Dim myQuery As String
Dim myp

Private Sub CommandButton1_Click()
KillProcess ComboBox1
UserForm_Initialize
End Sub

Private Sub UserForm_Initialize()

On Error GoTo UIniError

Set svc = GetObject("winmgmts:rootcimv2")
myQuery = "select * from win32_process"
ListBox1.Clear
ComboBox1.Clear
For Each myp In svc.execquery(myQuery)
ListBox1.AddItem myp.Name & " = " & myp.ExecutablePath
ComboBox1.AddItem myp.Name
Next
Set svc = Nothing
Exit Sub

UIniError:
MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
Err.Clear
End Sub

Public Function KillProcess(ByVal ProcessName As String) As Boolean

Set svc = GetObject("winmgmts:rootcimv2")
myQuery = "select * from win32_process where name='" & ProcessName &
"'"
For Each myp In svc.execquery(myQuery)
myp.Terminate
Next
Set svc = Nothing
End Function
''''*********************
'LSteph


On 29 avr, 17:50, Pierre Henri <"PH Neutre"> wrote:
Bonsoir,
Je souhaite tuer un processus : Thunderbird.exe, par VBA
Je vous remercie
PH








michdenis
Le #21660851
Bonjour,

Tu as aussi ceci :

Dans la procédure, tu remplaces "NotePad.exe" par le nom
du processus que tu veux tuer et qui s'afficher dans le gestionnaire
de tâche. Ceci supprime toutes les instances du processus mentionné.

'---------------------------
Sub Test()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "rootcimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Notepad.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
End Sub
'-------------------------------



"Pierre Henri" <"PH Neutre"> a écrit dans le message de groupe de discussion :
unh2#
Bonsoir,
Je souhaite tuer un processus : Thunderbird.exe, par VBA
Je vous remercie
PH
Pierre Henri
Le #21663141
Bonsoir,
Mais c'est exellent ça ;-)
Très bonne soirée
Merci
PH Neutre


michdenis a écrit :
Bonjour,

Tu as aussi ceci :

Dans la procédure, tu remplaces "NotePad.exe" par le nom
du processus que tu veux tuer et qui s'afficher dans le gestionnaire
de tâche. Ceci supprime toutes les instances du processus mentionné.

'---------------------------
Sub Test()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "rootcimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Notepad.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
End Sub
'-------------------------------



"Pierre Henri" <"PH Neutre"> a écrit dans le message de groupe de discussion :
unh2#
Bonsoir,
Je souhaite tuer un processus : Thunderbird.exe, par VBA
Je vous remercie
PH

Publicité
Poster une réponse
Anonyme