Communication entre Service NT et session(s) utilisateur(s) ( broadcast )

chainsaw2000 Messages postés 2 Date d'inscription mercredi 16 décembre 2009 Statut Membre Dernière intervention 4 janvier 2010 - 31 déc. 2009 à 08:36
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 - 4 janv. 2010 à 22:25
Bonjour Bonjour,

j'ai la problématique suivante :
je dispose d'un service en environnement TSE ( W2003 ) qui a besoin de communiquer avec une application précise pour l'ensemble des sessions TSE.
Je n'arrive pas à trouver une fonction qui me permet de faire l'équivalent d'un SendMessage(HWND_BROADCAST, MSG_WINDOWS, iValeur1, iValeur2) en TSE pour l'ensemble des Sessions.

Avez vous connaissance d'un d'une fonction permettant d'envoyer un message windows à l'ensemble des sessions utilisateurs actives d'un serveur TSE ?

Je vous remercie grandement par avance car celà fait 1/2 journée que je cherche et je commence à avoir les yeux rouges :) !

Bonne journée.

Ps.
Je suis également preneur de tout autre système que les messages windows pour communiquer entre mon service et les sessions TSE actives de mon serveur :) !

3 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
2 janv. 2010 à 23:09
Bonjour,
J'essaierai cette méthode:
1) Utiliser WTSEnumerateProcesses pour obtenir les PID de ton appli ouverte sur toute les sessions puis récupérer le handle de leur fenetre.
2) Puis utiliser WTSRegisterSessionNotification pour recevoir les messages windows sur ces fenetres.

Il faut voir après si SendMessage HWND_BRODCAST a une portée limite sur la session courante ou sur l'ensemble des sessions (TSE ou locales).

Peut être une autre solution qui serait d'utiliser un canal nommé entre ton service et ton application: voir cette source

Willi
++
0
chainsaw2000 Messages postés 2 Date d'inscription mercredi 16 décembre 2009 Statut Membre Dernière intervention 4 janvier 2010
4 janv. 2010 à 12:14
Merci Willi,

Le SendMessage HWND_BROADCAST a une portée limitée à la session courante apparemment.
Je vais creuser par contre la méthode TSRegisterSessionNotification que je ne connaissais pas !!
Actuellement j'ai réussi à m'en sortir via les sockets, mais j'aurais aimé trouvé une méthode utilisant uniquement les messages Windows.

Merci encore pour ta réponse Willi et excellente année à toi.
Chainsaw
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
4 janv. 2010 à 22:25
Bonne année également ;)
Si tu trouvais quelque chose du côté des messages Windows ou même avec TSERegisterSessionNotification j'aimerai avoir un retour ton problème rencontré m'intéresse !

Willi
++
0
Rejoignez-nous