Publié : ven. 13/févr./2004 19:49
quel bazar juste pour entendre dire ce que je sais déjà faire
mais je ne vous en veux pas
, j'aurai du mieux préciser la question.
pour savoir si un prgramme est lancé, j'ai déjà un code, je vous le met ici :
il marche avec le nom de la fenêtre :
pour scanner les fenêtres, j'ai également un code :
mais je ne veux pas de systèmes qui scanne en permanence car ça bouffe des ressources processeurs.
j'aurai souhaité récupéré un évènement windows qui indique la création d'une nouvelle fenêtre par exemple.

mais je ne vous en veux pas

pour savoir si un prgramme est lancé, j'ai déjà un code, je vous le met ici :
il marche avec le nom de la fenêtre :
Code : Tout sélectionner
Procedure.l IsRunning(Nom.s)
; nom = nom de la fenêtre en cours
; valeur de retour de la procedure :
; <> 0 : OK
; = 0 : Le logiciel n'est pas en cours d'exécution
ProcedureReturn FindWindow_(vbNullString, nom)
EndProcedure
Debug IsRunning("Calculatrice")
Code : Tout sélectionner
Procedure Fenetres_Ouvertes()
hWnd.l = FindWindow_( 0, 0 )
While hWnd <> 0
If GetwindowLong_(Hwnd, #GWL_STYLE) & #WS_VISIBLE = #WS_VISIBLE
If GetwindowLong_(Hwnd, #GWL_EXSTYLE) & #WS_EX_TOOLWINDOW <> #WS_EX_TOOLWINDOW
txt.s = Space(256)
GetWindowText_(hwnd, txt, 256)
If txt <> ""
Debug txt
EndIf
EndIf
EndIf
hWnd = GetWindow_(hWnd, #GW_HWNDNEXT)
Wend
EndProcedure
Fenetres_Ouvertes()
j'aurai souhaité récupéré un évènement windows qui indique la création d'une nouvelle fenêtre par exemple.