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

Vérifier si une application tourne

3 réponses
Avatar
ROLLOT Pascal Jean
Bonjour,

Je voudrais faire un prg qui serait lancé en tâche de fond et qui
vérifierait si une application tourne.
exemple : si outlook.exe est actif.

Je ne sais pas comment faire.

Merci de votre aide.

3 réponses

Avatar
tking
ROLLOT Pascal Jean vient de nous annoncer :
Bonjour,

Je voudrais faire un prg qui serait lancé en tâche de fond et qui vérifierait
si une application tourne.
exemple : si outlook.exe est actif.

Je ne sais pas comment faire.

Merci de votre aide.




http://vb.developpez.com/faq/?page=Systeme#listprocess

Il est possible de lister les processus actifs sur une machine en
utilisant les fonctions de l'API Windows
Mais il existe une astuce beaucoup plus simple à l'aide d'un petit
script WMI, utilisant la classe Win32_process (testé sur Windows 2000,
XP) vb

Private Sub Command1_Click()
Dim svc As Object
Dim sQuery As String
Dim oproc
On Error GoTo Command1_Click_Error

Set svc = GetObject("winmgmts:rootcimv2")
sQuery = "select * from win32_process"
For Each oproc In svc.execquery(sQuery)
Debug.Print oproc.Name & " = " & oproc.ExecutablePath
Next
Set svc = Nothing
Exit Sub

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



------------------------------------------------

"Lister les processus visual basic" dans google.

A+
Avatar
Patrick Philippot
Bonjour,

ROLLOT Pascal Jean wrote:
Je voudrais faire un prg qui serait lancé en tâche de fond et qui
vérifierait si une application tourne.
exemple : si outlook.exe est actif.



http://support.microsoft.com/kb/467805/fr

Bonne lecture.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Jacques93
Bonjour ROLLOT Pascal Jean,
ROLLOT Pascal Jean a écrit :
Bonjour,

Je voudrais faire un prg qui serait lancé en tâche de fond et qui
vérifierait si une application tourne.
exemple : si outlook.exe est actif.

Je ne sais pas comment faire.




En complément des réponses de tking et de Patrick Philippot,
au cas où outlook.exe ne serait pas qu'un exemple :

Dim OL As Object

On Error Resume Next
Set OL = GetObject(, "Outlook.Application")
If OL Is Nothing Then
MsgBox "OUTLOOK non lancé"
Else
MsgBox "OUTLOOK lancé"
End If

OUTLOOK expose une interface COM et il ne peut (sauf plantage), y avoir
plusieurs instances, à la différence de Word ou Excel (selon leur
paramétrage)

--
Cordialement,

Jacques.