begin process at 2012 05 29 05:58:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

Fenetre active


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fenetre active

jeudi 19 novembre 2009 à 15:41:52 | Fenetre active

galax98

Bonjour
Ma question est surement tres basique mais je ne m'en sort pas ...
Je souhaite faire un petit programme qui me previent lorsqu'une certaine fenetre (appelons la FEN, qui est une application exterieure à mon programme) devient active.
Je sais récupérer le handle de la fenetre active et je peux donc vérifier s'il s'agit bien de FEN, mais comment faire cela de façon "permanente" sans que ça bloque tout. Faut il passer par un thread ou bien puis je intégrer ce test dans la procedure callback de mon programme ?
En esperant avoir été clair.
Merci
jeudi 19 novembre 2009 à 17:22:48 | Re : Fenetre active

fregolo52

Membre Club
Salut,

bah euh, j'ai peut-etre mal compris, mais GetWindowText devrait etre la solution.
Tout dépend ce que représente ton FEN (est ce le titre de la fenetre ?)
jeudi 19 novembre 2009 à 17:43:17 | Re : Fenetre active

galax98

Merci mais on s'est mal compris. FEN est une application (qui tourne en tache de fond par exemple, et dont je connais déja le handle, le titre la classe etc ...) qui de temps en temps devient la fenetre active, me demandant alors de lui donner des informations. Comme je ne veux pas rester devant le pc à attendre, je voudrais créer un programme qui fait "DING DONG" pour me prévenir dès que FEN devient fenetre active. Ma question est donc comment vérifier de façon continue que FEN est active ou pas.
Est ce plus clair ?
jeudi 19 novembre 2009 à 21:21:28 | Re : Fenetre active

juju12

Un truc n'est pas clair : est-ce-que la fenêtre que tu surveilles est déjà lancée ou pas?
Dans le premier cas, tu peux placer un hook sur la fenêtre et intercepter le message WM_ACTIVATE par exemple : cf SetWindowsHookEx()
Dans le deuxième, effectivement tester comme tu l'as fait; simplement, mettre en place un timer pour seulement tester de temps en temps, avec comme callback ta procédure de test; cf SetTimer()
vendredi 20 novembre 2009 à 08:47:57 | Re : Fenetre active

fregolo52

Membre Club
Là c'est plus clair.

Je rejoins juju12 sur le hook.
Si tu veux des exemples, cherche dans les codes sur ce forum, BruNews a fait de bons exemples.
vendredi 20 novembre 2009 à 10:24:21 | Re : Fenetre active

galax98

Merci. Oui la fenetre que je surveille est deja lancée, je vais regarder le hook.
vendredi 20 novembre 2009 à 10:43:58 | Re : Fenetre active

fregolo52

Membre Club
Je pense à un truc !

ESt ce que GetForegroundWindow() pourrait répondre à tes besoins. Il faudrait tester, ca ne retourne peut-etre pas systématiquement la fenetre active.
Il te suffirait de faire un thread et faire du polling avec cette fonction.
vendredi 20 novembre 2009 à 12:00:24 | Re : Fenetre active

galax98

Il y a aussi GetActiveWindow je crois.
En fait c'est un peu plus compliqué car je dois surveiller plusieurs fenetres en meme temps. Lorsqu'une fenetre1 veut que je lui réponde, elle devient active, mais elle est 'desactivée' par une fenetre2 nécessitant elle aussi que je réponde, la fenetre1 devient alors 'clignotante'. Je souhaite que mon programme repère toutes ces fenetres 'clignotantes' (et donc en attente de réponse). Le mieux n'est il pas de faire un thread qui passe toutes les fenetres en revue et qui vérifie si elles clignotent (comment repere t-on d'ailleurs qu'une fenetre clignote ?)
vendredi 20 novembre 2009 à 12:11:02 | Re : Fenetre active

fregolo52

Membre Club
pour GetActiveWindow ca parle de Thread, a mon avis ca ne marche que pour le process courant.


Cette discussion est classée dans : programme, fenetre, active, fen


Répondre à ce message

Sujets en rapport avec ce message

Recuperer texte dans une fenetre active [ par iba7t ] Bonjour, je veux developper un programme en c++ qui me permet de recuperer les champs texte présents dans une fenetre active, independament du program Changer de fenetre active et appuyez sur F8 [ par zizouweb ] Bonjour a tous,Je vous explique, j'ai besoin de creer une application qui change la fenetre active (IE) du poste client, puis qui simule l'appui sur l Agir sur la fenetre d'un autre programme [ par orak ] Bonjour, Je cherche un moyen d'écrire du texte dans une fenetre windows existante, je veux dire, pas dans celle créée et gérée par mon programme. Que Probléme : CreateWindow (creer bouton) sur une fenetre externe au programme [ par Mareck666 ] Salutation a tous le monde, j'aimerai savoir si il est possible de créer un bouton via la fonction CreateWindow de l'api de windows sur une fenêtre ex Programme en fenetre Dev C++ [ par zerax57 ] [i]Bonjour tout le monde : Je m'appelle Zerax (pseudo ^^) et je souhaite créer un petit programme ... pour l'instant tout bête : Simplement dire bonjo Excel et window proc [ par sailline ] Bonjour, Je n'arrive pas à récupérer l'adresse de la window procedure d'une fenetre Excel : j'obtient l'erreur 5 (Access is denied) pourtant Spy++ arr Dialoqu box ou fenetre [ par julienbornet ] Bonjour je doit realiser un programme ayant les caracteristique suivante:Une fenetre principale affichant du texte (type edit box en readnoly) et nsui [MFC] - Initialisation de chaque fenetre [ par donslim ] Bonjour,Voila, contrairement à beaucoup de fan du c++, j'utilise malgré moi, les MFC, et si ca ne tenais qu'a moi,je me serais WM_QUIT [ par _michel ] Voila, j'arrive pas à retrouver de message WM_QUIT dans ma "message loop".Au lieu de ça, c'est la WindowProc qui réceptionne le message.Pourtant, mon Une chose m'echappe [ par julienbornet ] Bonjour alors voial j'ai un petit probleme dont je n'arrive pas a trouver la cause. Bon comme c'est assez complexe a expliquer je vais essayer d'etre


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales