2010-04-05 4 views

Répondre

5

Les icônes de la zone de notification sont appelées «icônes de notification».

Pour ce faire à votre propre application, Si vous utilisez WinForms vous pouvez utiliser la classe NotifyIcon pour afficher les icônes dans la barre d'état système. Ensuite, tout ce que vous avez à faire est de ne pas afficher la fenêtre dans la barre des tâches.

Si vous utilisez WPF il n'y a pas de remplacement, vous devez toujours utiliser l'ancienne classe WinForms NotifyIcon, consultez ce MSDN sample pour plus d'informations à ce sujet.


Si vous voulez cacher une autre application, ce que vous devez faire est appelle API utiliser pour effectuer les modifications à l'état de la fenêtre des applications.

Vous pouvez utiliser FindWindow pour obtenir un handle de la fenêtre que vous souhaitez masquer, puis vous pouvez utiliser GetWindowLong pour obtenir l'état Windows. Ensuite, vous devez supprimer le drapeau WS_EX_APPWINDOW de l'état et utiliser la méthode SetWindowLong pour appliquer le nouveau style, cela le supprimera de la barre des tâches. Vous pouvez ensuite utiliser les méthodes Get/SetWindowState pour connaître l'état de la fenêtre et la masquer/la réduire.

Il vous reste juste besoin d'utiliser la classe NotifyIcon pour afficher votre propre icône dans la barre des tâches.

Bonne chance avec tout cela. Ce n'est pas quelque chose que j'ai essayé personnellement, mais j'ai utilisé tous ces appels de méthodes d'autres façons. Si vous n'avez pas fait de choses API à partir de C# avant de vous trouver, vous devez faire un peu de googling pour comprendre votre DllImports pour les méthodes de l'API de version. Cela ne devrait pas être quelque chose de trop difficile.


Crazyd22 a trouvé un codeproject article qui utilise un ensemble légèrement différent des méthodes de l'API, mais permet d'obtenir à peu près le même effet. (Voir les commentaires ci-dessous.)

+0

Ouais je sais cela, je veux dire différentes applications, comme iTunes – Crazyd22

+0

Oh, vous voulez minimiser les autres programmes à la barre des tâches. Ok, pour ce faire, vous devez toujours utiliser NotifyIcon pour afficher une icône dans le systray, mais vous devrez trouver un appel API pour masquer les fenêtres de la barre des tâches du programme. Accroche-toi, je verrai si je peux trouver quelque chose. –

+0

Je vois, très bien, merci ^^ – Crazyd22

Questions connexes