begin process at 2012 02 13 05:36:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

Récupérer le handle d'une fenêtre précise


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

Récupérer le handle d'une fenêtre précise

vendredi 4 juillet 2008 à 15:51:43 | Récupérer le handle d'une fenêtre précise

AMS010

Bonjour,
Je programme depuis quelques temps avec l'API windows, et j'ai commencé à lire le tutoriel de gRRrosminet sur le Contrôle du clavier et de la souris sous Windows; mais seul problème, je n'arrive pas à recupérer le handle du lecteur windows media.
Celà m'affiche 0x0...
Je me demande alors si le problème viens du class name, qui est incorrecte.
Je me demandais aussi comment connaitre le class name d'un fenetre.

Merci d'avance pour vos réponses.



Voilà le code:
#include <windows.h>
#include <stdio.h>
int main(int argc, char * argv[])
{
    
     HWND hMediaplayer = FindWindow("Media Player 2",NULL);
     printf("le handle de la fenêtre de media player 2 est : 0x%X",hMediaplayer);
     return 0;
}

vendredi 4 juillet 2008 à 18:48:13 | Re : Récupérer le handle d'une fenêtre précise

BastienL21

Slt,
    Après avoir vérifié dans mes codes, il me semble que ce n'est pas :
HWND hMediaplayer = FindWindow("Media Player 2",NULL);
Mais :
HWND hMediaplayer = FindWindow(NULL,
"Media Player 2");
Après cette "inversion", si le nom de la fenêtre est bien ''Media Player 2'', tout devrait aller (J'ai aussi remarquer que quand il y des accents dans le titre, ca ne fonctionne pas.

Cordialement, B@stien.//@++
vendredi 4 juillet 2008 à 18:54:25 | Re : Récupérer le handle d'une fenêtre précise

AMS010

Non celà ne marche pas :(
J'aimerais aussi préciser que Maidia player 2, ce n'est pas le nom de la fenetre mais plutot son class name...

PS: je travaille avec code::blocks.
vendredi 4 juillet 2008 à 19:00:33 | Re : Récupérer le handle d'une fenêtre précise

BastienL21

Dans ce cas je ne vois pas...DSL...(ou peut-être, je ne sais pas, es-tu sûr que' %X' est une syntaxe correct? je ne sais pas, je n'avais jamais vu cette syntaxe...)

Cordialement, B@stien.//@++
vendredi 4 juillet 2008 à 19:06:31 | Re : Récupérer le handle d'une fenêtre précise

AMS010

Oui, la sysntaxe est juste puisque je me suis sérvi de celle-ci pour récupérer le handle de la fenêtre au premier plan avec le code suivant:
#include <windows.h>
#include <stdio.h>
int main(int argc, char * argv[])
{
     HWND hFore = GetForegroundWindow();
     printf("le handle de la fenêtre au premier plan est : 0x%X",hFore);
     return 0;
}

En procedant par élémination, je parviens à la conclusion suivante:
Le problème viens sois de l'OS, de l'IDE,ou des parametre de la fonction...

vendredi 4 juillet 2008 à 19:30:14 | Re : Récupérer le handle d'une fenêtre précise

SAKingdom

Membre Club
"If the function fails, the return value is NULL. To get extended error information, call GetLastError."

Si FindWindow retourne NULL, c'est qu'il n'a pas trouvé de fenêtre dont le nom de classe est "Media Player 2".

Un moyen de vérifier le nom de classe d'une fenêtre est d'utiliser GetClassName. Essais:

#include <windows.h>
#include <stdio.h>
int main(int argc, char * argv[])
{
     HWND hFore;
    char buf[300];

    Sleep(5000);

    hFore = GetForegroundWindow();

    GetClassName(hFore, buf, sizeof(buf));

     printf("%s\n", buf);

     return 0;
}

Ou quelque chose dans le genre. Je ne peux pas tester pour le moment.
Le Sleep, c'est pour te laisser le temps de mettre la fenêtre désirée en premier plan, car, je ne sais pas si en démarrant ton programme, GetForegroundWindow ne se trouvera pas à récupérer un HANDLE vers ton propre programme.

C++ (@++)

samedi 5 juillet 2008 à 11:12:02 | Re : Récupérer le handle d'une fenêtre précise

AMS010

Merci,
Le problème est résolu...
mardi 2 septembre 2008 à 11:20:04 | Re : Récupérer le handle d'une fenêtre précise

DavySA

Bonjour,

Et c'était quoi la solution?


Cette discussion est classée dans : récupérer, windows, handle, fenêtre, media


Répondre à ce message

Sujets en rapport avec ce message

Récupérer un handle de fenêtre [ par tintin72 ] Bonjour, Je programme une classe 'Splitter' qui a besoin de récupérer le handle des fenêtres filles pour les agencer dans la fenêtre hote. J'ai donc Windows management [ par moreau_l ] Bonjour à tous, J'ai trois questions à poser concernant Windows et sa gestion : -  Comment peut-on retirer la barre bleu (celle qui contient la croi Récupérer des entrées clavier hors d'une fenêtre Win21 [ par Taranael ] Salut ! Bon j'ai un problème pour un p'tit programme idiot que j'ai fait, c'est un piano tout con en C qui joue de la musique avec votre tourelle quan Creer un bouton avec l'API Windows [ par banane_rose ] code : ICI C'est sensé faire apparaitre une fenêtre avec un gros bouton "Quitter" au milieu . Mais rien ne marche , même pas l'affichage de Du 3D dans une fenêtre Windows [ par Tibabou ] Bonjour/soir,J'aimerais savoir comment insérer dans une fenêtre windows toute simple une zone de "dessin": un cadre avec du 3D dedans en fait. (c'est Gestion Memoire Windows [ par victorcoasne ] Bonjour, Je fais un programme qui mange énormément en ressources (+ de 5Mo au départ) et qui augmente un peu. Je réduis la fenêtre et la restaure et Récupérer le titre d'une fenêtre [ par Ajakaty ] Bonjour!! Je vous écris car je me trouve devant un problème que je n'arrive pas à résoudre... En fait je veux récupérer le titre d'une fenêtre q Gestion des messages windows pour des fenêtres - pointeurs de fonctions [ par neodelphi ] Bonjour tout le monde Je suis en train de faire un programme qui utilise directX et qui doit créer une fenêtre windows. J'ai suivi les exemples que Récupérer les messages d'une fenêtre [ par aztcaLISS ] Salut,Je voudrais savoir comment récupérer les messages d'une fenêtre dont on connait simplement son handle.merciazt


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,718 sec (3)

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