Détecter un menu PopUp quelconque

cs_olid Messages postés 296 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 28 janvier 2008 - 2 nov. 2004 à 15:15
cs_olid Messages postés 296 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 28 janvier 2008 - 5 nov. 2004 à 12:57
Bonjour,

Jai besoin de détecter si il y a un menu popup deja ouvert (par mon appli, ou une autre)... Je veux pô son Handle, juste une reponse oui ou non.

Sous Windows, on ne peut po avoir 2 popup ouverts en meme temps... Windows ferme automatiquement l'ancien avant de d'ouvrir le nouveau.
Dans ce cas, y atil une class pour les menu popup pour quon les detecte avec l'API FindWindow ?

Javais fais un prog qui liste les forms et le nom de leur Class... Mais un menu popup disparait dés quon fait un clic ; notamment pour faire defiler la liste de forms dans mon prog :o((

NB: jen ai besoin pour mon projet "Yahoo! Messenger Plus" ( http://www.yahooplus.fr.st ) car ma nouvelle fonction "SuperTopMost" cache les menus popup :o(

----
Olie_ze_kat - www.olid.fr.st =(°o°)=

4 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
2 nov. 2004 à 21:05
Je pense qu'il faudrais pouvoir capter les évènement de la souris, puis en les traitants tu peux déterminer s'il y en a un d'ouvert.

tu peux les ouvrirs avec les touches : Popup du clavier ou bouton droit de la souris, puis les refermé par un clic ou échap ou entrée ou espace.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
cs_olid Messages postés 296 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 28 janvier 2008
3 nov. 2004 à 12:56
Je potasse sur une autre methode...

Je soupconnais les menu popup d'etre une Form.... et avec mon detecteur de form, jai trouvé quils avaient (menu et sousmenu) la classe "#32768" mais bizarrement l'API FindWindow ne detecte pas cette classe... Peut etre quelle les ignore ?!!

Je vais essayer de recreer une fonction FindWindow a partir de mon detecteur.
----
Olie_ze_kat - www.olid.fr.st =(°o°)=
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
3 nov. 2004 à 13:10
Le pb va se poser peut-être si la form à un nom différent, exemple dans un prog tu aura mnu_opt et un autre MnuSouris

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
cs_olid Messages postés 296 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 28 janvier 2008
5 nov. 2004 à 12:57
Non non... tu peux "normalement" utiliser FindWindow en indiquant uniquement le nom de la classe (et vbNull comme titre de form)... Il te renvoie la premiere occurence trouvée.

Cest meme conseillé de faire comme çà pour des appli mono-instance... Pas de risques d'echouer à cause dun titre traduit et/ou qui comporte le numéro de version ;o)

Sinon, mon prog qui liste les fenetres, utilisait la fonction EnumProcess (au lieu de enumWindow)... Ce qui explique que lui voit des choses (comme les menus) que FindWindow ne trouve pô. FindWindow doit etre concu autour dun enumWindow en toute logique, non ?!
----
Olie_ze_kat - www.olid.fr.st =(°o°)=
0
Rejoignez-nous