Détection popup windows

Signaler
Messages postés
21
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
12 mars 2009
-
Messages postés
21
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
12 mars 2009
-
Bonjour,

Actuellement je développe une application win32 permettant de monitorer
l'activité système d'un châssis CPCI sous win2k. Cette application est en C++ et
me permet de voir differentes infos (charge CPU, mémoire, nb process ...) d'un
parc assez important (plus de 100 machines).

Mon problème :
---------------------
Parfois, pour faire un shutdown, je me retrouve bloqué sur un de ces châssis,
par une popup. Tant qu'elle n'est pas fermée, je ne peut rien faire.
Il faut que je me loggue avec VNC, que je tue cette popup et que je passe au suivant.

Pouvez-vous me dire s'il est possible de détecter qu'une popup est présente, sans
avoir à se logguer ?
Toute info en C/C++ (sans .NET ni MFC) me sera bien utile.

D'avance merci.
Thez

-------------------------------------------------------------------------------------------------------
il y IO type de personnes, celles qui comprennent le binaire et celles non !

3 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Salut,


Pour détecter une fenêtre, tu as des fonctions d'énumération, telle EnumWindows.


Dans ton cas, si la popup a toujours le même titre, ou qu'elle appartient à une classe bien particulière, tu peux faire un FindWindow.


Pour la fermer... Bin ça dépend. A vu de nez je dirais qu'il faut que tu essaie de t'en sortir avec un SendMessage. En effet, cette popup risque d'appartenir à un gros processus qu'il ne faudrait pas killer.


Avec le SendMessage, tu peux envoyer une touche (Par exemple echap, ou entrée, qui va activer le bouton par défaut), ou demander à la fenêtre de se fermer.


Après, il va falloire que tu t'arrange pour détecter la popup avant que
ton appli soit terminer par le système qui est en train de s'arrêter...

<hr size="2" width="100%" />3ème année en ecole d'ingé d'info cherche stage de 4 mois à partir du 01/04/08
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Attention avec SendMessage sur un autre processus qu'on ne domine pas, vaut mieux du non bloquant.
PostMessage(hwnd, WM_CLOSE, 0, 0);

ciao...
BruNews, MVP VC++
Messages postés
21
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
12 mars 2009

Bonjour

Merci à vous pour vos conseils !
J'ai différentes choses sur le feu donc je posterai un message
dès que j'aurais mis tout ça en place.

Bonne continuation

----------------------------------------------------------------------------------------------------------
il y IO type de personnes, celles qui comprennent le binaire et celles non !