simtiers
Messages postés207Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention 2 novembre 2006 9 déc. 2004 à 17:43
SAlut,
pour ton récupérer un handle HWND, je vois pas d'autre méthodes que de l'enregistrer qq part.
tu peux le récupérer par un GetParent si t'as un handle sur une fenêtre fille
je crois bien qu'il y a que le HINSTANCE que tu peux récupérer sans une autre variable que tu dois connaître...
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 9 déc. 2004 à 21:36
Salut,
Comment c'est pas effectif? Quel est le problème exactement? Car je fais exactement comme tu fais pour retrouver ce HWND et ça ne pose pas de problème.
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 9 déc. 2004 à 21:46
vecchio56 > J'ai hesité avant de poster mon précédent message, c'est pourquoi j'ai pas vu le tien. Ce problème m'intrigue moi aussi car je trouve trouve cette méthode même plus efficace que de faire appel à GetParent().
Vous n’avez pas trouvé la réponse que vous recherchez ?
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010 10 déc. 2004 à 13:41
ok les gars le truc c ke ca garde en mémoire le HWND du prog courrant donc vu ke je suis entrain de purger les fuites mémoires de mon prog et de purger également toute les variables globales, car j'en avais pas mal entre le char * et tout les autres pointeur (HIMAGELIST, WNDPROC, HMENU, HBITMAP,etc...) en mémoire ca pese lourd....
surtout ke la plupart du temps je peux pas les vider parceke je les utilises regulierements....
mon probleme est en faite une optimisation....
j'ai pensé o get parent mais j'ai tester ca pour verif
HWND testhwnd=GetParent(0);
ShowWindow(testhwnd,SW_HIDE);
en pensant ke dans le getparent en metant NULL il recupererait selui courant...
bref apres sur le point ke c plus effectif de mettre en mémoire ou d'appeler une fonction.... c sur ke sur des prog comme les miens c pas tres grave car il n'y a que 2000 lignes de codes....
je pense que le temps d'acces est peux etre un peux plus long (kelke milli secondes) mais ke l'on ne surcharge pas les places mémoires...
en bref peut etre ke je me trompe, ....
pour resoudre pour le moment avant ke kelk'un me trouve mieu je fais un findwindow sur la class de mon prog....
il est appellé juste une 50aine de fois (boucles)donc.... je sais pas
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 10 déc. 2004 à 14:50
C'est pas en virant les handles qui sont en variable globale que tu vas éviter des fuites mémoires. De plus, pour sauvegarder 1 seule varaible globale, il faut que le système alloue au moins une page mémoire (4 Ko) pour la section .data ou .bss alors autant l'utiliser.
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 10 déc. 2004 à 16:40
Par contre, si tu veut limiter la visibilité de certaines variables à un module (fichier source), déclare la static, elle aura une portée globale limitée au module ou elle est définie.
Ainsi, tu pourra avoir une variable static HWND s_hWnd; dans chaque module se référant à la fenêtre dont le module s"occupe (tu peux regarder ma source "serial" pour + de détails dans lequel chaque fenêtre est dans un .cpp diférent avec ses variables de module et ses traitements de messages)
http://www.cppfrance.com/code.aspx?ID=18704