2010-05-10 9 views
0

Quelles DLL auraient des fonctions pour accéder aux éléments de la barre d'état système? Ai-je besoin du winapi, ou y a-t-il déjà des classes disponibles dans la bibliothèque de classes? J'espère trouver un moyen d'émuler toutes les fonctionnalités de la barre d'état système, à savoir les icônes, le texte de survol de la souris et la possibilité d'afficher le menu contextuel.Quelles sont les méthodes disponibles dans WinAPI pour accéder aux programmes de la barre d'état système?

+2

Etes-vous en train d'écrire un shell de remplacement complet (c'est-à-dire en remplaçant explorer.exe), ou voulez-vous simplement accrocher la zone de notification et la remplacer par la vôtre? Ce que vous devez faire dépend en grande partie de l'un de ceux que vous voulez. Par ailleurs, le nom correct est "zone de notification" et non "barre d'état système". –

+0

voulez-vous vous ajouter un dans la barre d'état système ou vous voulez réel toutes les applications ouvertes dans la barre d'état système? –

+0

Codeka est sur moi ... Je veux un gros projet, quelque chose pour vraiment étirer mes capacités. Je veux remplacer explorer.exe juste comme un exercice de développement. Je voudrais aussi que toutes les applications existantes soient compatibles et je sais que beaucoup d'entre elles existent, ou existent principalement, dans la 'zone de notification' (merci encore codeka). J'ai déjà eu ma part de plaisir en utilisant NotifyIcon pour placer mes propres applications dans la zone de notification, ce n'est pas la direction que je veux prendre ici. –

Répondre

2

Vous pouvez énumérer des icônes de bac, récupérer des infobulles, émuler un clic, double-clic et clic droit. Voir cet article qui explique comment le faire avec winapi: Shell Tray Info - Arrange your system tray icons

+0

Savez-vous si ces appels WinAPI fonctionnent également sous Windows 7 ou Vista? Lors de l'exécution de l'application sur le site, une boîte de message s'affiche me disant qu'il ne fonctionnera que sur XP. –

+0

@Corey Ogburn - vous obtenez le message parce que l'auteur de l'application a testé uniquement sur XP. Si vous voulez vous pouvez télécharger le code source et supprimer le contrôle pour voir comment il fonctionne sur Vista/7 Barre des tâches a beaucoup changé donc il est tout à fait possible que l'application ne fonctionnera pas. Vous pouvez utiliser spy ++ pour voir si vous pouvez apporter les modifications nécessaires. – Giorgi

2

Il existe la fonction Shell_NotifyIcon pour travailler avec des icônes de bac nativement. Avec .NET, vous pouvez utiliser la classe NotifyIcon, qui fait le travail.

+0

La question concerne l'énumération des icônes existantes, pas seulement leur ajout pour le processus en cours. – Giorgi

+0

D'une manière ou d'une autre, je ne vois pas un mot «énumérer» dans la question originale. – liggett78

Questions connexes