Communication entre Service NT et session(s) utilisateur(s) ( broadcast )
chainsaw2000
Messages postés2Date d'inscriptionmercredi 16 décembre 2009StatutMembreDernière intervention 4 janvier 2010
-
31 déc. 2009 à 08:36
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 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 :) !
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 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
chainsaw2000
Messages postés2Date d'inscriptionmercredi 16 décembre 2009StatutMembreDerniè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
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 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 !