Fenetre active

cs_bonagad Messages postés 87 Date d'inscription vendredi 22 décembre 2006 Statut Membre Dernière intervention 19 mai 2012 - 31 janv. 2008 à 23:04
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 1 févr. 2008 à 16:46
comment peut reconnaître l'application ayant sa fenêtre active?
merci  d'avance pour la reponse.

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 févr. 2008 à 00:38
Salut
Par son handle, c'est à dire l'identifiant unique, de type Long, décerné par le système.
Il faut avoir recours aux APIs pour que le système la désigne : GetActiveWindow.
Petite nuance : cette fonction te renverra le handle de la "Window" ayant le focus, pas le handle de l'objet à l'intérieur de cette Window qui a le focus.
Tous les détails et exemples de code dans Api-Guide, un petit logiciel qui rescence toutes les API standards (pas toutes à jour, mais les principales). Api-Guide est gratuit et dispo < ici >
Si tu as besoin de savoir si c'est TA forme qui est bien l'objet ayant le focus actuellement, il te suffira de comparer le handle fourni par cette fonction d'API avec le handle de ta forme : maForme.hWnd

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 févr. 2008 à 00:39
Re
En tapant "fenetre active" dans la recherche parmi les questions du forum, il y a d'autres réponses ...
0
cs_bonagad Messages postés 87 Date d'inscription vendredi 22 décembre 2006 Statut Membre Dernière intervention 19 mai 2012
1 févr. 2008 à 13:49
j'ai eu à créer deux applications A et B. Dans A je désire ajouter une instruction qui me permet de me rendre compte que B est en exécution et qu'elle est bien sûr active. c'est tout ce que je desire...
merci
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 févr. 2008 à 16:46
Salut
Ok, problème de définition du mot 'active'
Active signifie 'a le focus', 'est en avant plan', 'est l'application qui reçoit les touches du clavier'
Dans ton cas, tu veux savoir si ton application B est lancée, tourne. (ai-je bien compris ?)

Dans ce cas, tu trouveras des renseignements dans <cette source> si tu veux rechercher une application par le 'caption' de sa forme.

Il y a d'autres méthodes avec les APIs.
Tu peux aussi t'inspirer de <cette vieille source> qui liste les process en cours avec le nom de l'EXE associé.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous