begin process at 2012 05 30 19:13:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

GUI

 > 

Trouver une fenêtre


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

Trouver une fenêtre

jeudi 22 octobre 2009 à 10:07:06 | Trouver une fenêtre

fregolo52

Membre Club
Bonjour,

Je galère un peu pour trouver le handle d'une applet.

J'essaie de faire un peu de ménage dans "EnumWindows", dans la callback je regarde si le hwnd fourni dépend de java.exe

Je me retrouve avec une liste de hwnd. Dans cette liste j'ai entre autre l'icone du systray mais pas le handle de l'applet.
Je vois le handle de l'applet avec Spy++ et il est bien dépendant de java.exe

J'ai peut-être utiliser la mauvaise méthode pour avoir ce handle.

Merci

jeudi 22 octobre 2009 à 15:49:40 | Re : Trouver une fenêtre

BruNews

Administrateur CodeS-SourceS
Je n'ai pas de java sur mes posts donc pas moyen de tester.
La hwnd que tu cherches, celle que tu vois avec spy++, n'aurait pas une parent ???
Si oui, faut partir en EnumChildWindows depuis la parent trouvée avec EnumWindows.

ciao...
BruNews, MVP VC++
jeudi 22 octobre 2009 à 16:13:14 | Re : Trouver une fenêtre

fregolo52

Membre Club
J'ai fait un EnumChildWindows, et ca marche, mais l'achitecte logiciel dit c'est dégueulasse.

J'ai avancé, mais là j'ai un autre souci avec le hook (instancié par IE).
(Je reprends un produit déjà développé par ma boite.)
J'ai un :
Code C/C++ :
const LRESULT sendResult = ::SendMessageTimeout(hwndApplet,
                          MON_ID_DE_MSG,
                          wparam,
                          lparam,
                          SMTO_ABORTIFHUNG | SMTO_BLOCK,
                          5000, // 5 second timeout
                          &responsePtr);

La callback dans IE est :
Code C/C++ :
LRESULT CALLBACK myCallWndProcRetCallback(int nCode, WPARAM wParam, LPARAM lParam) {

    if ( nCode == HC_ACTION && lParam != NULL) {
        const CWPRETSTRUCT* const msg = reinterpret_cast<CWPRETSTRUCT*>(lParam);


        if (msg->message == MON_ID_DE_MSG) {
            // traitement
            POINT point;
            POINTSTOPOINT(point, msg->lParam);
            processMessage(msg->hwnd, msg->wParam, point);
        } 
    }
    return ::CallNextHookEx(g_callWndProcRetHook, nCode, wParam, lParam);
}


Mon pb est que msg->hwnd dans le hwnd de la top-level de IE (IEFrame) et pas hwndApplet.

Ai-je manqué une subtilité sur les hook ?

Merci


Cette discussion est classée dans : applet, trouver, handle, fenêtre, hwnd


Répondre à ce message

Sujets en rapport avec ce message

trouver le handle d'une fenêtre [ par Lustuc ] Bonjour,Je débute en C et j'avoue être un peu perdu avec les handle. Je cherche à récupérer le handle d'une application (la fenêtre d'un jeu).Pour ça trouver le HWND depuis un createProcess [ par curenor ] Bonjour,je cherche à trouver le Hwnd de la fenêtre qui est créé par l'application lancée par un CreateProcessW.(je pense qu'il y a possibilité de fai Récupèrer Handle de fenetre [ par LaTatadu91 ] Bonjour, J'ai un problème avec cette fonction [code=cpp]HWND hWnd = FindWindow(0, "Server Config");[/code] qui est pourtant censée me renvoyer un Han Identifier un handle. [ par SergentP ] Salut, J'ai ce code : short AutoSizeWindow(HWND hWindow, HWND MainWD) { HWND hWindow2; hWindow2 = hWindow; if (hWindow = "EditText") // Recherche fenetre windows vis a vis du handle d'un processus [ par kickbar ] Bonjour a tous, voila je vien poster ici car je rencontre un probleme. Je réalise une application relativement simple en C sous Dev-C++ 4.9.9.2 pour Langage C++ [ par Tom56340 ] je me présente tom voila je suis pas non plus implacable sur l'informatique cependant je touche a tout et est un niveau satisfaisant qui me vaut de m souci C++ [ par Tom56340 ] je me présente tom voila je suis pas non plus implacable sur l'informatique cependant je touche a tout et est un niveau satisfaisant qui me vaut de m Utiliser capCreateCaptureWindow en Windows Form [ par raikko21 ] Salut tlm!!! J'ai un petit problème pour passer d'une Win Api en WindowsForm, j'ai fait une application (je me suis bcp aider des sources du site) qui Traduction en FR programme en fenetre devc++ [ par toto6311 ] [code=cpp]#include /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); /* Faites le nom de la class


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 : 1,763 sec (3)

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