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

Récuperer info processus en cours

6 réponses
Avatar
ThierryP
Bonjour à tout(e)s,

Bien longtemps que je n'ai pas eu l'occasion de mettre les pieds sur le forum,
mais je vois avec plaisir que les contributeurs "historiques" sont toujours au
rendez-vous :-))). Juste une pensée pour Florence....-(((((((((((

Petite question...Comment récupérer une info sur les processus en cours ?
Via Excel, je souhaite détecter si une instance Winamp existe : si oui, j'ajoute
des fichiers, sinon je lance Winamp.

Merci d'avance !
--
----
ThierryP

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet
(Georges Courteline)

6 réponses

Avatar
michdenis
Bonjour Thierry,

Essaie ceci :
Dans cette ligne de code, tu remplace Excel.exe
par le nom de l'exécutable de ton choix.

If UCase(myp.Name) = UCase("Excel.exe") Then

'-------------------------------------
Sub test()
Dim GestionErreur As String, Ok As Boolean
Dim Executable As String

Executable = "Excel.exe" 'à adapter

On Error GoTo GestionErreur
Ok = False
Set svc = GetObject("winmgmts:rootcimv2")
myQuery = "select * from win32_process"
For Each myp In svc.execquery(myQuery)
If UCase(myp.Name) = UCase(Executable) Then
Ok = True
End If
Next

If Ok = True Then
MsgBox Executable & " est ouvert"
Else
MsgBox "Pas trouver trace de " & Executable
End If


Set svc = Nothing
Exit Sub
GestionErreur:
MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
Err.Clear
End Sub
'-------------------------------------



"ThierryP" a écrit dans le message de groupe de discussion :

Bonjour à tout(e)s,

Bien longtemps que je n'ai pas eu l'occasion de mettre les pieds sur le forum,
mais je vois avec plaisir que les contributeurs "historiques" sont toujours au
rendez-vous :-))). Juste une pensée pour Florence....-(((((((((((

Petite question...Comment récupérer une info sur les processus en cours ?
Via Excel, je souhaite détecter si une instance Winamp existe : si oui, j'ajoute
des fichiers, sinon je lance Winamp.

Merci d'avance !
--
----
ThierryP

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet
(Georges Courteline)
Avatar
FS
Bonjour,

Une petite procédure pour récupérer la liste des processus en cours :

'===================== Sub ProcessusActifs()
Dim strComputer, objWMIServices, colProcesses, objProcess

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" _
& strComputer & "rootcimv2")
Set colProcesses = _
objWMIService.ExecQuery("Select * from Win32_Process")
Workbooks.Add
For Each objProcess In colProcesses
i = i + 1
Cells(i, "a").Value = objProcess.Name
Next

End Sub
'====================
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

ThierryP a écrit :
Bonjour à tout(e)s,

Bien longtemps que je n'ai pas eu l'occasion de mettre les pieds sur le
forum, mais je vois avec plaisir que les contributeurs "historiques"
sont toujours au rendez-vous :-))). Juste une pensée pour
Florence....-(((((((((((

Petite question...Comment récupérer une info sur les processus en cours ?
Via Excel, je souhaite détecter si une instance Winamp existe : si oui,
j'ajoute des fichiers, sinon je lance Winamp.

Merci d'avance !


Avatar
ThierryP
Bonjour,

toujours aussi rapide à répondre à ce que je vois !
Je vais tester ça dès que possible....mais ça va marcher, comme d'hab :-))

Merci

michdenis a écrit :
Bonjour Thierry,

Essaie ceci :
Dans cette ligne de code, tu remplace Excel.exe
par le nom de l'exécutable de ton choix.

If UCase(myp.Name) = UCase("Excel.exe") Then

'-------------------------------------
Sub test()
Dim GestionErreur As String, Ok As Boolean
Dim Executable As String

Executable = "Excel.exe" 'à adapter

On Error GoTo GestionErreur
Ok = False
Set svc = GetObject("winmgmts:rootcimv2")
myQuery = "select * from win32_process"
For Each myp In svc.execquery(myQuery)
If UCase(myp.Name) = UCase(Executable) Then
Ok = True
End If
Next

If Ok = True Then
MsgBox Executable & " est ouvert"
Else
MsgBox "Pas trouver trace de " & Executable
End If


Set svc = Nothing
Exit Sub
GestionErreur:
MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
Err.Clear
End Sub
'-------------------------------------



"ThierryP" a écrit dans le message de groupe de discussion :

Bonjour à tout(e)s,

Bien longtemps que je n'ai pas eu l'occasion de mettre les pieds sur le forum,
mais je vois avec plaisir que les contributeurs "historiques" sont toujours au
rendez-vous :-))). Juste une pensée pour Florence....-(((((((((((

Petite question...Comment récupérer une info sur les processus en cours ?
Via Excel, je souhaite détecter si une instance Winamp existe : si oui, j'ajoute
des fichiers, sinon je lance Winamp.

Merci d'avance !



--
----
ThierryP

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet
(Georges Courteline)
Avatar
ThierryP
Bonjour,

je vais également tester cette solution, et j'enverrai le retour

Un grand merci !

FS a écrit :
Bonjour,

Une petite procédure pour récupérer la liste des processus en cours :

'===================== > Sub ProcessusActifs()
Dim strComputer, objWMIServices, colProcesses, objProcess

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" _
& strComputer & "rootcimv2")
Set colProcesses = _
objWMIService.ExecQuery("Select * from Win32_Process")
Workbooks.Add
For Each objProcess In colProcesses
i = i + 1
Cells(i, "a").Value = objProcess.Name
Next

End Sub
'==================== >
FS



--
----
ThierryP

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet
(Georges Courteline)
Avatar
ThierryP
Bonsoir,

bien qu'une partie soit encore du chinois pour moi, ça fonctionne très bien!
Je vais tenter de comprendre, mais en tous cas, mille mercis

Thierry

michdenis a écrit :
Bonjour Thierry,

Essaie ceci :
Dans cette ligne de code, tu remplace Excel.exe
par le nom de l'exécutable de ton choix.

If UCase(myp.Name) = UCase("Excel.exe") Then

'-------------------------------------
Sub test()
Dim GestionErreur As String, Ok As Boolean
Dim Executable As String

Executable = "Excel.exe" 'à adapter

On Error GoTo GestionErreur
Ok = False
Set svc = GetObject("winmgmts:rootcimv2")
myQuery = "select * from win32_process"
For Each myp In svc.execquery(myQuery)
If UCase(myp.Name) = UCase(Executable) Then
Ok = True
End If
Next

If Ok = True Then
MsgBox Executable & " est ouvert"
Else
MsgBox "Pas trouver trace de " & Executable
End If


Set svc = Nothing
Exit Sub
GestionErreur:
MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
Err.Clear
End Sub
'-------------------------------------



"ThierryP" a écrit dans le message de groupe de discussion :

Bonjour à tout(e)s,

Bien longtemps que je n'ai pas eu l'occasion de mettre les pieds sur le forum,
mais je vois avec plaisir que les contributeurs "historiques" sont toujours au
rendez-vous :-))). Juste une pensée pour Florence....-(((((((((((

Petite question...Comment récupérer une info sur les processus en cours ?
Via Excel, je souhaite détecter si une instance Winamp existe : si oui, j'ajoute
des fichiers, sinon je lance Winamp.

Merci d'avance !



--
----
ThierryP

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet
(Georges Courteline)
Avatar
ThierryP
Bonsoir,

Bon ben,....ex-aequo avec Michdenis; ça marche tout aussi bien :-))
Pourquoi ça a l'air aussi simple après ????

Un grand merci !

Thierry

FS a écrit :
Bonjour,

Une petite procédure pour récupérer la liste des processus en cours :

'===================== > Sub ProcessusActifs()
Dim strComputer, objWMIServices, colProcesses, objProcess

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" _
& strComputer & "rootcimv2")
Set colProcesses = _
objWMIService.ExecQuery("Select * from Win32_Process")
Workbooks.Add
For Each objProcess In colProcesses
i = i + 1
Cells(i, "a").Value = objProcess.Name
Next

End Sub
'==================== >
FS



--
----
ThierryP

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet
(Georges Courteline)