Affiche une boîte de message à partir d'un Service Windows
Vous pouvez afficher une boîte de message (ou toute autre forme de notification) à partir d'un service windows? Pouvez pas le faire fonctionner. J'ai utilisé:
global::System.Windows.Forms.MessageBox.Show("A fatal error occurred. " +
ServiceName + " is now terminating.");
mais il ne fonctionne pas et juste produit une erreur.
InformationsquelleAutor Jonn | 2010-05-07
Vous devez vous connecter pour publier un commentaire.
Non, vous ne pouvez pas afficher une boîte de message à partir d'un service. Si vous souhaitez signaler des erreurs, le standard de la façon de le faire est avec la journal des événements.
Pour les plus "avancés" types d'INTERFACE utilisateur (et pas seulement les rapports d'erreur), la manière dont cela se fait habituellement par une application régulière des fenêtres que vous avez mis de l'utilisateur dans le dossier de Démarrage (ou de la clé de registre Run) et qui communique avec le service via une sorte de mécanisme IPC (.NET remoting, WCF, régulièrement des sockets, des canaux nommés, etc).
Vous peut affichage d'un message à partir d'un service avec "WTSSendMessage(...)" fonction (qui est disponible depuis
Windows Vista
etWindows Server 2008
), voici un bon article:http://msdn.microsoft.com/en-us/library/ms683502(SV.85).aspx
De Wikipédia:
Avec cette option activée, vous devriez être en mesure d'afficher des boîtes de message à partir d'un service.
Autoriser le service à interagir avec le bureau va vous aider à faire cela à partir des Services.msc console.
MAIS, c'est une très mauvaise idée. Surtout si vous oubliez de retirer cette messagebox plus tard. Le service va s'accrocher car vous avez une messagebox qui ne peuvent cliquer sur.
SYSTÈME D'EXPLOITATION:XP
L'activation du Mode Interactif pour les Services Windows
Procédure
Non vous ne pouvez pas. Windows services n'ont pas d'interface graphique. Mais vous pouvez montrer un peu de barre d'état système de notification.