Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tuer un processus par VBA

7 réponses
Avatar
Pierre Henri
Bonsoir,
Je souhaite tuer un processus : Thunderbird.exe, par VBA
Je vous remercie
PH

7 réponses

Avatar
LSteph
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
Avatar
Pierre Henri
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



Avatar
Pierre Henri
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



Avatar
LSteph
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



Avatar
Pierre Henri
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








Avatar
michdenis
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
Avatar
Pierre Henri
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