begin process at 2012 05 29 05:00:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Fonction qui recupere le HWND du prog courrant...???


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

Fonction qui recupere le HWND du prog courrant...???

jeudi 9 décembre 2004 à 15:25:32 | Fonction qui recupere le HWND du prog courrant...???

youpiyoyo

j'aurai besoin de recupere le HWND,
je sais ke l'on peut le mettre en global du genre

LRESULT CALLBACK DlgMainProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) //main procedure
{

avec case WM_INITDIALOG:
{
mainHwnd=hwnd;
//ou mainHwnd est en global

...
}


mais je trouve pas ca effectif

UNE SOLUTION..???
youpi :)
jeudi 9 décembre 2004 à 17:43:53 | Re : Fonction qui recupere le HWND du prog courrant...???

simtiers

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...
jeudi 9 décembre 2004 à 21:26:38 | Re : Fonction qui recupere le HWND du prog courrant...???

vecchio56

Administrateur CodeS-SourceS
Comment ca tu trouves pas ca effectif? tu veut dire efficace? C'est sûrement aussi efficace que de faire un GetParent à chaque fois
jeudi 9 décembre 2004 à 21:36:22 | Re : Fonction qui recupere le HWND du prog courrant...???

racpp

Administrateur CodeS-SourceS
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.
jeudi 9 décembre 2004 à 21:46:56 | Re : Fonction qui recupere le HWND du prog courrant...???

racpp

Administrateur CodeS-SourceS
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().
vendredi 10 décembre 2004 à 13:41:53 | Re : Fonction qui recupere le HWND du prog courrant...???

youpiyoyo

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

youpi :)
vendredi 10 décembre 2004 à 14:01:39 | Re : Fonction qui recupere le HWND du prog courrant...???

vecchio56

Administrateur CodeS-SourceS
4 octets c'est sur que ca pèse lourd?
vendredi 10 décembre 2004 à 14:50:33 | Re : Fonction qui recupere le HWND du prog courrant...???

ymca2003

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.
vendredi 10 décembre 2004 à 16:35:00 | Re : Fonction qui recupere le HWND du prog courrant...???

youpiyoyo

ok bon je v rester en global alors...

merci les gars
youpi :)
vendredi 10 décembre 2004 à 16:40:48 | Re : Fonction qui recupere le HWND du prog courrant...???

ymca2003

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


Cette discussion est classée dans : fonction, prog, hwnd, recupere, courrant


Répondre à ce message

Sujets en rapport avec ce message

Priblème avec SetGlgItemTxt [ par thebigbang ] bonjour à vous tous ...J'ai un problème avec cette fonction : SetGlgItemTxtJ'ai une fenêtre Win32 avec une edit donc je voudrais modifier la valeur.J' ProB avec la fonction int remove (const char*) [ par Avalon10101 ] _-=AvAloN=-_Jai un petit prob avec cette fonction :Je cré mon prog il na aucune erreur é il est donc pré à etre exécuter pour suprimer un fichier test thread sur WndProc [ par kidpigeyre ] G une fonction WndProc chargé de réaliser tout mon programme (application GUI) (avec fenetre windows) et jmerai pouvoir faire un thread de cette fonct API :: Gestion de plusieurs fenetres [ par JackosKing ] Bon, voilà, j'ai fait un programme qui peux creer un infinité de fenêtres (en fonction de la ram bien entendue:)), le probleme c'esgt pour la gestion Probleme de Timer avec SetCursorPos [ par Maegis ] Voila je fais une appli Win32 qui necesite l'emploi d'un timerLe probleme c'est que je ne recois jamois le message WM_TIMER ,en fait je le recois si j HWND Fonction [ par Crew209 ] Crew209J'arive pas a utilisé vos fonction :'( ! pouvez vous détaillé chaque param svp ?? Merci BOCOUP ! Utilisation d'une fonction callback [ par laurentl2000 ] Bonjour, Voici une fonction callback destinée à envoyer les titres des fenêtres IE ouvertes dans une listbox... BOOL CALLBACK EnumWindowsProc(HWND hwn erreur de conception? [ par frdestroyers27 ] Salut a tous!ca serait pour savoir si je fait une erreur de conception!j'ai un fichier main.cpp avec la fonction WinMain dedans qui contient juste un thread et plein ecran [ par dletozeun ] bonjour,je voudrais savoir s'il est possible qu'un thread créé par un prog (en c++) qui se lance en plein ecran, puisse ne jamais s'excuter...c appare comment avoir le HWND top level d'un prog [ par youpiyoyo ] j'ai essayer GetTopWindowsans succes, getwindow aussi, je sais plsu koi faire...le context: j'ai selectionner un prog avec HWND hWindow = WindowFromPo


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

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