2010-09-02 23 views
1

J'ai une application d'interface utilisateur qui remplit plusieurs fonctions (< 800KB). Je voulais permettre de le minimiser dans la barre d'état système et continuer à décoder les données provenant du port série et à envoyer des messages réseau. Puis-je simplement masquer le formulaire principal et créer un NotifyIcon dans la zone de notification, ou y a-t-il d'autres considérations pour les applications de la barre d'état système? L'application utilise-t-elle moins de ressources lorsqu'elle est cachée? Ou est-il préférable de faire une version allégée de l'application pour la barre d'état système (avec duplication de code)?Implications de la réduction au niveau de la barre d'état système

Mon application fait ce que 2 applications différentes font (fonctions connexes). J'essaie de prévoir les implications avant que je finisse de le coder.

+0

Je dirais qu'à 800 Ko, vous n'avez probablement pas besoin de vous soucier de la consommation de mémoire. – kbrimington

Répondre

2

J'ai écrit quelques applications qui utilisent NotifyIcon. Le placer dans la zone de notification (barre d'état système) n'a rien de spécial. Ce n'est plus visible sur la barre d'outils.

1

IMO meilleure façon dans votre cas est de faire un service Windows qui décodera les données du port série et envoyer des messages. Et d'autres app Winforms qui ne fera que définir les préférences et regarder l'état du service, que l'on peut aller à la barre. Peut-être que vous n'avez pas vraiment besoin de cette application de plateau, juste le service Windows, vous pouvez définir les préférences à travers le fichier de configuration et regarder l'état creux EventLog.

Bien sûr, s'il est possible de lancer à partir du service Windows, par exemple. votre port série et votre code réseau n'ont pas besoin d'utilisateur ou de bureau connecté.

+0

Je dois regarder ce qui est requis pour programmer un service Windows, comment communiquer avec un WinForm, consommer des messages d'un autre processus, etc. Dans mon application, les données série sont fragmentées, donc la forme principale obtient les fragments de données l'instance du port série, et les envoie à l'instance décodeur, qui les réassemble et décode les données, qui sont renvoyées au formulaire principal pour l'affichage à l'écran, et est également envoyé à une instance notificatrice réseau (envoie un message chaîne). – OIO