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

Archive C/C++

 > 

Archives

 > 

Systeme

 > 

liste des fenêtres visibles [VC++]


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

liste des fenêtres visibles [VC++]

lundi 10 février 2003 à 04:07:15 | liste des fenêtres visibles [VC++]

metalbibi

Bonjour,
voila je cherche a établir la liste des noms des fenêtres visibles ( c'est à dire la liste que l'on peut voir dans la barre des taches ou le getionnaire de tache/application).
G utilisé la fonction EnumWindows dans le code de telle manière :

EnumDesktopWindows(NULL,(WNDENUMPROC)EnumWindowsProc,(LPARAM)&tableau);

avec la fonction :

bool CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lparam);

bool CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lparam)
{
char truc[50];
GetWindowText(hwnd,truc,50);
return true;
}


Mais je n'arrive pas a faire un trie dans les informations que je récupere, je choppe pleins de noms divers et variées(des fenetres mais aussi autre chose), de blancs et je n'arrive pas a m'en dépatouillé.
Quelqu'un sait il comment trier les informations obtenues ? Merci d'avance.
lundi 10 février 2003 à 11:39:00 | Re : liste des fenêtres visibles [VC++]

BruNews

Administrateur CodeS-SourceS
Salut,
quel critere de tri ?
Que faire des titres de fenetres obtenus ?
Donne un cahier des charges précis et alors je te fournirai ce qui te manque.
Tu peux voir un exemple enumwindows dans mon source PROG EGOISTE mais le callback est en asm pour les performances.
ciao...

-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
> voila je cherche a établir la liste des noms des fenêtres visibles ( c'est à dire la liste que l'on peut voir dans la barre des taches ou le getionnaire de tache/application).
> G utilisé la fonction EnumWindows dans le code de telle manière :
>
> EnumDesktopWindows(NULL,(WNDENUMPROC)EnumWindowsProc,(LPARAM)&tableau);
>
> avec la fonction :
>
> bool CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lparam);
>
> bool CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lparam)
> {
> char truc[50];
> GetWindowText(hwnd,truc,50);
> return true;
> }
>
>
> Mais je n'arrive pas a faire un trie dans les informations que je récupere, je choppe pleins de noms divers et variées(des fenetres mais aussi autre chose), de blancs et je n'arrive pas a m'en dépatouillé.
> Quelqu'un sait il comment trier les informations obtenues ? Merci d'avance.
>
lundi 10 février 2003 à 12:53:57 | Re : liste des fenêtres visibles [VC++]

metalbibi

Merci de ta réponse ! C t bien cool.
Avec la fonction IsWindowVisible et GetClassName (que j'ai vu dans tes sources :-) je peux faire à peu pres le trie.
Mon critère de trie etait l'axe-Z.

Par contre j'aurrais aimé stocker les noms des fenetres ainsi que les hwnd dans deux tableau un CStringArray et un CPtrArray.
Peut tu me dire comment faire avec le pointeur long LPARAM pour accomplir ce miracle ?
@plus
Jib
-------------------------------
Réponse au message :
-------------------------------

> Salut,
> quel critere de tri ?
> Que faire des titres de fenetres obtenus ?
> Donne un cahier des charges précis et alors je te fournirai ce qui te manque.
> Tu peux voir un exemple enumwindows dans mon source PROG EGOISTE mais le callback est en asm pour les performances.
> ciao...
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour,
> > voila je cherche a établir la liste des noms des fenêtres visibles ( c'est à dire la liste que l'on peut voir dans la barre des taches ou le getionnaire de tache/application).
> > G utilisé la fonction EnumWindows dans le code de telle manière :
> >
> > EnumDesktopWindows(NULL,(WNDENUMPROC)EnumWindowsProc,(LPARAM)&tableau);
> >
> > avec la fonction :
> >
> > bool CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lparam);
> >
> > bool CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lparam)
> > {
> > char truc[50];
> > GetWindowText(hwnd,truc,50);
> > return true;
> > }
> >
> >
> > Mais je n'arrive pas a faire un trie dans les informations que je récupere, je choppe pleins de noms divers et variées(des fenetres mais aussi autre chose), de blancs et je n'arrive pas a m'en dépatouillé.
> > Quelqu'un sait il comment trier les informations obtenues ? Merci d'avance.
> >
>
lundi 10 février 2003 à 13:19:47 | Re : liste des fenêtres visibles [VC++]

BruNews

Administrateur CodeS-SourceS
Le LPARAM de EnumWindowsProc ???
Simple, c'est toi qui y mets ce que tu veux quand tu appelles EnumWindows(). Si tu passes un pointeur sur un tableau, le tour est joué.
typedef struct _MYENUM {
DWORD idx; // ++ chaque tour
HWND hwnds[NBR];
char *names[NBR];
} MYENUM, *LPMYENUM;

tu pourrais passer un pointeur sur un truc du genre. Fais gaffe aux alloc memoire correctes et free() correspondants. Je precise que ce n'est pas le modele le + performant mais grosso modo c'est ce que feront les CStringArray et autres bidules mfc.
Pour la F1 je te conseille:
NBR = 0;
1) 1er appel EnumWindows avec LPARAM sur DWORD *NBR.
Alloc 1 seule fois de memoire totale
hmem = malloc(NBR*52 + NBR*4 + 4);
NBR*52 pour les noms
NBR*4 pour hwnds
4 pour pour DWORD idx
ciao...
-------------------------------
Réponse au message :
-------------------------------

> Merci de ta réponse ! C t bien cool.
> Avec la fonction IsWindowVisible et GetClassName (que j'ai vu dans tes sources :-) je peux faire à peu pres le trie.
> Mon critère de trie etait l'axe-Z.
>
> Par contre j'aurrais aimé stocker les noms des fenetres ainsi que les hwnd dans deux tableau un CStringArray et un CPtrArray.
> Peut tu me dire comment faire avec le pointeur long LPARAM pour accomplir ce miracle ?
> @plus
> Jib
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut,
> > quel critere de tri ?
> > Que faire des titres de fenetres obtenus ?
> > Donne un cahier des charges précis et alors je te fournirai ce qui te manque.
> > Tu peux voir un exemple enumwindows dans mon source PROG EGOISTE mais le callback est en asm pour les performances.
> > ciao...
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Bonjour,
> > > voila je cherche a établir la liste des noms des fenêtres visibles ( c'est à dire la liste que l'on peut voir dans la barre des taches ou le getionnaire de tache/application).
> > > G utilisé la fonction EnumWindows dans le code de telle manière :
> > >
> > > EnumDesktopWindows(NULL,(WNDENUMPROC)EnumWindowsProc,(LPARAM)&tableau);
> > >
> > > avec la fonction :
> > >
> > > bool CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lparam);
> > >
> > > bool CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lparam)
> > > {
> > > char truc[50];
> > > GetWindowText(hwnd,truc,50);
> > > return true;
> > > }
> > >
> > >
> > > Mais je n'arrive pas a faire un trie dans les informations que je récupere, je choppe pleins de noms divers et variées(des fenetres mais aussi autre chose), de blancs et je n'arrive pas a m'en dépatouillé.
> > > Quelqu'un sait il comment trier les informations obtenues ? Merci d'avance.
> > >
> >
>


Cette discussion est classée dans : liste, hwnd, fenêtres, lparam, visibles


Répondre à ce message

Sujets en rapport avec ce message

probleme openGl niveau debutant [ par AmK ] salut je debute en openGL et j'ai du mal a creer une fenetre le compilateur me mets 2 erreurs :PS: les erreurs du compilateur(vc++ 6.0)sont plus bas ! API :: gestion du mulo [ par JackosKing ] LRESULT CALLBACK Twiny::WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ static bool activate = FALSE; switch ( message ) { case WM_MO Dll Visual Aide [ par TheMaster ] Salut!j'ai un probleme, j'ai créer un logiciel permettant de visualiser des images.Les images sont stocke en ressource dans un dll.Mais je n'arrive pa pb combo box [ par mat74 ] salut a ts j'ai encore 1 ptit pb . j'ai creer un combobox , il marche bien mais le petit pb c'est que les choix possible se range par ordre alphabetiq Gestion des evenements Win32 [ par zibo3 ] J'aimerai créer un événement appuyer sur une touche de type F3 mais cet événement doit se réaliser à chaque fois que j'appuie sur cette touche quelque DialoBox [ par noel70 ] Voici ce que j'ai fait, mais le souci, c'est que je n'ai aucune fenetre qui s'affiche,Lors de la compilation, aucune erreur, je ne sais pas d'ou sa vi erreur LNK2001 [ par biscot19 ] j'ai une erreur de LNK 2001 sur la fonction suivanteSNMPAPI_STATUS CALLBACK cbFunc (HSNMP_SESSION hSession, HWND hWnd, UINT wMsg, WPARAM wParam, c++ API Windows : sous classement de fenetre dans une classe [ par _Jonathan ] Bonjour, je cherche à créer un controle de type Edit en utilisant une classe. Le probleme, c'est que je souhaite redéfinir la procedure callback du co Mélange entre C++ et Win32 [ par vecchio56 ] J'ai décidé d'encapsuler mes fenêtres dans des classes, mais je me trouve confronté à un problème: en gros je n'arrive pas à changer de WndProc en uti [C++]Problème de pointeur ou de liste chainee [ par Arkko ] Bonjour... J'essaye de convertir une liste chainée du site en une liste chainée demandant comme parametre un new par exemple ajouter(new Test);Cela f


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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

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