2010-09-28 27 views
1

J'essaie de faire une icône de plateau visible de mon programme au démarrage de Windows, avec le composant NotifyIcon.NotifyIcon au démarrage

Le programme lui-même fonctionne très bien et l'icône de plateau apparaît. Mais, quand je place mon programme au démarrage de l'ordinateur, l'icône de la barre d'état n'apparaît pas toujours, alors que le programme lui-même fonctionne sans problème et sa fenêtre principale est visible.

Aucun code personnalisé n'est impliqué ici, tout le code est généré automatiquement.

Fonctionnant sur Windows 7 Édition Intégrale.

Que puis-je faire pour que l'icône de la barre de tâches apparaisse dans Windows au démarrage?

+1

Vous pouvez trouver la réponse à ce fil utile http://stackoverflow.com/questions/1858552/system-tray-icon-not-appearing-on-startup – Duncan

Répondre

2

dans les fenêtres de démarrage

Si vous voulez dire que vous utilisez un temps de démarrage du système d'exploitation (par exemple en ajoutant une entrée à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run ou un service), le processus est en cours d'exécution dans une autre session et n'a pas accès à l'interface utilisateur.

Si vous voulez un processus à exécuter sur OS démarrage et être interactif, vous aurez besoin de deux applications: l'une pour exécuter au démarrage et d'exposer, et deux une application d'interface utilisateur une certaine forme de communications inter-0process (IPC) qui utilise les premières applications IPC pour communiquer avec lui. Vous aussi (en fonction de vos utilisateurs cibles) devrez peut-être prendre en compte les cas où (1) personne ne se connecte au système (par exemple un serveur sans tête) et (2) où plusieurs utilisateurs se connectent (p.ex. à un système partagé). Dans le passé, les services pouvaient être configurés pour ajouter des éléments à l'interface utilisateur de l'utilisateur de la console, mais cela a été bloqué dans Vista (car cela a ouvert des failles de sécurité).

0

Vous le trouverez probablement dans les icônes cachées. Sur Win7 cliquez sur la flèche "Afficher les icônes cachées", cliquez sur Personnaliser et remplacer le comportement.

+0

merci, mais ce n'est pas le problème, mon icône de la barre n'est pas là non plus. – DxCK

+0

Je ne sais pas, je n'ai pas entendu parler de ce problème avant. Voir ce qui se passe quand vous mettez un System.Threading.Thread.Sleep (5000) dans la méthode Main, donnant à la barre des tâches assez de temps pour s'initialiser complètement. –

+0

Merci, votre suggestion avec Thread.Sleep (5000) a augmenté la chance pour le plateau-icône d'apparaître, toujours pas 100%. – DxCK