2010-08-10 8 views
4

J'ai une application de console C# qui s'exécute tous les soirs à partir d'une tâche planifiée pour effectuer une certaine maintenance. L'application affiche également un formulaire en tant qu'écran de démarrage informant toute personne sur le système que l'application est en cours d'exécution et affiche le statut.Afficher un formulaire C# à un autre utilisateur ou à tous les utilisateurs connectés

Pour exécuter l'application avec les autorisations appropriées, j'ai besoin d'exécuter la tâche planifiée en tant qu'un autre utilisateur. Lorsque je fais cela, cependant, l'application s'exécute mais l'écran de démarrage n'est pas visible pour les utilisateurs connectés.

Je comprends le problème, mais je ne sais pas comment contourner ce problème. Existe-t-il un moyen de lancer un formulaire pour un autre utilisateur? Sinon, existe-t-il un moyen d'afficher un formulaire en tant que notification à tous les utilisateurs connectés, similaire à un message «Windows est en cours de fermeture»?

Merci pour les idées.

Répondre

0

Vous pouvez écrire une autre petite application et la placer dans le dossier de démarrage de Tous les utilisateurs. Cette application s'exécute lorsque l'utilisateur se connecte, puis s'assoit, de manière invisible (ou dans la zone de plateau) et surveille les déclencheurs spécifiques qui indiquent que votre première application est sur le point d'être exécutée. Quand il les voit, il lance l'écran de démarrage.

1

Transformez votre application en un service qui fonctionnera tout le temps en "mode noyau", indépendamment des utilisateurs connectés. Créez ensuite une petite application client qui fonctionnera en "mode utilisateur" tout le temps où l'utilisateur est connecté (une instance par utilisateur). Utilisez la communication interprocessus pour envoyer un "signal" du serveur (application de service) à chaque client (application utilisateur).

+1

Ce n'est pas le mode noyau. – SLaks

+1

Oui, ce n'est pas un mode kernel, mais c'est un "mode noyau";) Vous savez ce que je veux dire ... – adf88

Questions connexes