Vérification d'un logiciel ouvert

cs_krys Messages postés 4 Date d'inscription samedi 13 juillet 2002 Statut Membre Dernière intervention 19 juillet 2002 - 19 juil. 2002 à 16:52
olidbc Messages postés 20 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 26 juillet 2002 - 20 juil. 2002 à 00:26
Bonjour a tous!

je voudrais savoir comment faire pour savoir si un logiciel (appelé CIEL) est ouvert ou pas.

Je veux le savoir en cliquant sur un bouton, qui m'affichera un msgbox.

merci. :)

2 réponses

cs_Charlie Messages postés 110 Date d'inscription jeudi 9 mai 2002 Statut Membre Dernière intervention 11 mars 2010 1
19 juil. 2002 à 18:49
Voici mon code pour savoir si Excel est ouvert...
Comme c'est une application sans référence...

private Excel97 as new excel97.application
Sub GetExcel()
Dim ExcelWasNotRunning As Boolean ' Flag for final release.

On Error Resume Next ' Defer error trapping.


Set excel97 = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
ExcelWasNotRunning = True
Err.Clear ' Clear Err object in case error occurred.
End If



If ExcelWasNotRunning = True Then
Set excel97 = CreateObject("Excel.Application")

Else
'Shell "C:\Program Files\Microsoft Office\Office\EXCEL.EXE", vbMaximizedFocus

Set excel97 = GetObject(, "Excel.Application")
End If
End Sub
0
olidbc Messages postés 20 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 26 juillet 2002
20 juil. 2002 à 00:26
Charlie, ton exemple marche nikel pour les softs qui se base sur des objets COM comme word, excel, ....

Pour ciel je suis pas sur que ce soit le cas.

j'utilise la fonction API FindWindow qui permet de récuperer le handle d'une fenÛtre active a partir de sont nom. si la fonction retourne 0 c'est que le soft n'est pas en marche, sinon c'est qu'il l'est.
le nom de la fenêtre correspond au texte affiché dans la barre de titre de la fenetre.

Olvier.

l'exemple test si la calculatrice est lancée ou pas.


Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Sub Main()

Dim hForm As Long   '// le handle de la fenetre
hForm = FindWindow(vbNullString, "Calculatrice")
If hForm > 0 Then '// si on le trouve
    MsgBox "La calculatrice est active."
Else
    MsgBox "La calculatrice n'est pas active."
End If

End Sub

0
Rejoignez-nous