begin process at 2008 05 16 06:44:47
1 173 219 membres
61 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Récupérer tous les handles des contrôles d'une fenêtre (avec TabControl) [ Système / Exécution ] (jnmchl)

Récupérer tous les handles des contrôles d'une fenêtre (avec TabControl) le 31/03/2008 22:06:42

jnmchl
Membre Club
Bonjour,

La question est dans le titre est bien qu'un post existe quelques lignes auparavant ... Cirec me dirait : cherche au topic :
http://www.delphifr.com/infomsg_RECUPERER-TOUS-HANDLES-APPLICATION-CHOISIE-DANS-LISTE_714127.aspx

Oui ... c'est ce que j'ai fait, malheureusement le code ne donne que les handles enfants directs de la fenêtre, mais pas les "petits enfants" càd dire les contrôles n'ayant pas directement la fenêtre comme parent ... comme tout ce qui est dans un panel, dans des tabsheets etc ... est ignoré.

Pour avoir plus de contrôles j'utilise une fonction récursive :

procedure Rechercher(HParent : THandle);
var Handle : THandle;
begin
  Handle := GetWindow(HParent,GW_CHILD);
  while Handle<>0 do begin
    Memo1.Lines.Add(inttostr(Handle));
    Rechercher(Handle) ;
    Handle := GetNextWindow(Handle,GW_HWNDNEXT);
  end;
end;


Maintenat il deumeure un problème qui m'énerve ... la liste n'est toujours pas complète : justement avec un TPageControl ...
les contrôles qui ne sont pas dans le tabsheet affichés sont ignorés tant qu'il n'ont pas été visible une première fois.
Quelqu'un a-t-il une idée ?

Merci,
Jean-Michel

Re : Récupérer tous les handles des contrôles d'une fenêtre (avec TabControl) le 31/03/2008 23:58:57

cirec
Membre Club
(Admin CS)

Et tu as raison ... même doublement raison mais il faut aussi faire une recherche sur tout le site, ... ce qui t'aurait permis de tomber, comme moi en 2s, sur ceci :
http://www.delphifr.com/codes/ENUMERATION-FENETRES-OUVERTES_16615.aspx

je ne sais pas si c'est la solution mais c'est une voie avec d'autres procedures et fonctions il existe d'autres sources qui traitent le sujet.
 
@+
Cirec


Re : Récupérer tous les handles des contrôles d'une fenêtre (avec TabControl) le 01/04/2008 19:07:04

jnmchl
Membre Club
Oui mais non,  ce code (dont je me suis inspiré) fonctionne sensiblement comme le mien par exemple quand il y a un TPageControl seul le(s) TabSheet(s) déjà ouvert(s) au moins une fois sont énumérés ... moi, j'ai besoin qu'ils soient tous énumérés dès que l'application en question est lancée et sans que aucune action sur le TPageControl ... mais merci pour ton avis.

Jean-Michel


Classé sous : récupérer, handle, fenêtre, contrôles, handles

Participer à cet échange

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS