Comment avoir le HWND top level d'un prog

youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010 - 15 juil. 2004 à 21:53
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 15 juil. 2004 à 22:32
j'ai essayer GetTopWindow

sans succes, getwindow aussi, je sais plsu koi faire...

le context: j'ai selectionner un prog avec HWND hWindow = WindowFromPoint(pCursor);,
ensuite je test si c un windows: IsWindow(hWindow )

mais si ca n'en ai pas une comment faire pour recuprer le HWND du prog, genre, si je click sur une list view ou koi....

merci de vos réponses
youpi :)

7 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
15 juil. 2004 à 21:55
"mais si ca n'en ai pas une comment faire pour recuprer"
tu peux remettre les mots dans l'ordre pour qu'on puisse comprendre?
0
youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010
15 juil. 2004 à 21:59
ok je vais essayer
si je fais un

while (iResult)
{

if(GetAsyncKeyState(VK_LBUTTON) && GetAsyncKeyState(VK_LBUTTON))
{
GetCursorPos(&pCursor);
iResult = 0;
hWindow = WindowFromPoint(pCursor);
GetWindowText(hWindow, sTitle, 400);
GetClassName(hWindow, sClass, 400);

}

}

ca track jusk'a le click gauche de la souris ...

si tu click sur une list view, bouton, etc... d'un prog, j'aimerai recuperer le HWND du programme ki contient ces élément,

j'ai d'abord penser a énumerer les processus de l'objet selectionner pour obtenir le parent ou top level je sais po

j'espere etre plus clair
youpi :)
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
15 juil. 2004 à 22:02
GetParent()
0
youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010
15 juil. 2004 à 22:06
comment je test si c un child ?? IsChild, le probleme c k'il fo ke je test par rapport au parent mais comment le testé si je n'ai ke celui du fils???

je sais po si je suis clair eheh:)
youpi :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
15 juil. 2004 à 22:10
GetParent: If the window is a top-level unowned window or if the function fails, the return value is NULL

Tu peux donc savoir facilement c'est un child ou pas
0
youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010
15 juil. 2004 à 22:21
j'ai un exemple caucasse si on peut dire

je clcik sur une list view ki n'est pas un child du programme, j'aimerai recup d'une maniere kelke ke soit le hwnd du prog ki le contient comment je fais ....

voila ce ki me fait dire ca:

if (IsWindow(HwndDest)==0)
{
if (GetParent(HwndDest)==0)
{
MessageBox(0,"not child",0,0);
HwndTmp=GetAncestor(HwndDest,GA_ROOTOWNER);
}
/*HwndTmp=GetParent(HwndDest);*/

GetClassName(HwndTmp, sClass, 400);
MessageBox(0,sClass,0,0);
if (IsWindow(HwndTmp)!=0)
{
HwndDest=HwndTmp;

}

}

la class ne change pas,
j'ai testé GetAncestor pour essayer de recup le owner sans succes

je commence a craquer lol
youpi :)
youpi :)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 juil. 2004 à 22:32
tu as duplique ici !!! reponse dans ton autre thread.

ciao...
BruNews, Admin CS, MVP Visual C++
0
Rejoignez-nous