Récupérer la liste des applications visibles dans la barre de tâches

Signaler
Messages postés
11
Date d'inscription
samedi 11 avril 2009
Statut
Membre
Dernière intervention
31 juillet 2012
-
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
Bonjour,

Je souhaite créer un gadget vista/seven ayant pour but de remplacer la barre "Démarrer".

Là où je bloque, c'est au moment de récupérer la liste des applications visibles dans la barre de tâches.

J'imaginais faire un programme en C, qui me retournait un tableau, que j'exploiterais directement dans mon gadget.

Le problème, c'est que j'ai sous estimé la difficulté de trouver cette liste!

Après des journées de recherche sur le net, je suis toujours broucouille (comme on dit dans le bouchonois).

Aujourd'hui, je suis au point mort, et j'ai vraiment besoin d'aide pour redémarrer!

Par avance merci!

1 réponse

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Bienvenue,

Voilà une méthode. Pas parfaite mais fonctionne pas trop mal en général.

Inspiré de ce thread.

#include <windows.h>
#include <stdio.h>

BOOL __stdcall EnumWindowsCallback(HWND hWnd, LPARAM lParam)
{
  char lpCaption[2048];

  if (IsWindowVisible(hWnd) && (! GetParent(hWnd)) && (! (GetWindowLong(hWnd, GWL_EXSTYLE) & WS_EX_TOOLWINDOW)))
  {
    GetWindowText(hWnd, lpCaption, 2048);
    printf("%s\n", lpCaption);
  }
  return TRUE;
}

int main()
{
  EnumWindows(EnumWindowsCallback, 0);
  return 0;
}