Action lors de l'affichage d'un message

Action lors de l'affichage d'un message - API Win32 - Programmation

Marsh Posté le 29-09-2011 à 22:01:35    

Bonjour,

 

Est il possible de "capter" un message envoyé par un logiciel afin d'effectuer une action dès son apparition ?
Je m'explique :
J'ai un poste sur le quel un utilisateur que je nommerai toto se logge, lance un traitement, verrouille sa session et revient quand le traitement est terminé.
Le hic c'est que ce poste est commun donc un utilisateur nommé titi peut avoir besoin de la machine après la fin du traitement lancé par toto. Donc si toto n'est pas revenu fermer la session titi sera bloqué.
Malheureusement, le soft utilisé ne dispose pas de fonctionnalité permettant d'effectuer une action à la fin du traitement par contre il affiche un message du genre "traitement terminé"

 

Mon idée serait donc de fermer la session de l'utilisateur à l'apparition de ce message. Mais est ce possible ? Quels sont les techniques à mettre en oeuvre ?
J'ai entendu parler des hook mais je me demande si je ne fait pas fausse route ...

 

Bref ... je suis preneur de toutes informations me permettant d'avancer sur le sujet

 

Merci d'avance


Message édité par jesaiplu le 29-09-2011 à 22:07:33

---------------
Galerie perso - - - Topic des tapeurs
Reply

Marsh Posté le 29-09-2011 à 22:01:35   

Reply

Marsh Posté le 29-09-2011 à 23:41:52    

Bonsoir,
Vois si en utilisant getforegroundwindows ( http://msdn.microsoft.com/en-us/li [...] 85%29.aspx )  ou gettopwindow ( http://msdn.microsoft.com/en-us/li [...] 85%29.aspx ) combiné avec getwindowtext ( http://msdn.microsoft.com/en-us/li [...] 85%29.aspx ) pour voir si tu peux détecté la fenêtre d'avertissement (ou un changement de titre dans la fenêtre en premier plan)...
Sinon normalement il doit y avoir moyen de se loguer avec plusieurs comptes actifs en même temps si un certain service est actif -> http://windows.microsoft.com/fr-FR [...] ogging-off


Message édité par breizhbugs le 29-09-2011 à 23:42:56

---------------
Seul Google le sait...
Reply

Marsh Posté le 30-09-2011 à 09:46:12    

Merci beaucoup je vais y jeter un oeil :-)
A noter que ce poste est un XP en domaine et que la bascule d'utilisateur n'est pas permise


Message édité par jesaiplu le 30-09-2011 à 10:04:17

---------------
Galerie perso - - - Topic des tapeurs
Reply

Marsh Posté le 30-09-2011 à 11:56:54    

Petite correction: je ne sais pas comment se comporte getforegroundwindows et gettopwindow lorsqu'un écran de verrouillage de session est affiché, renseignes toi aussi alors sur findwindow(Ex) + le titre de la fenêtre d'avertissement ( http://msdn.microsoft.com/en-us/li [...] 85%29.aspx )
Dans tout les cas il te faudra tester si cela marche une fois le verrouillage de la session faite!


---------------
Seul Google le sait...
Reply

Marsh Posté le 30-09-2011 à 16:13:59    

si tu as du contrôle sur l'application qui doit tourner en tâche de fond, ce serait peut-être plus approprié d'en faire un service windows ou quelque chose d'approchant, non ?


---------------
last.fm
Reply

Marsh Posté le 30-09-2011 à 16:31:52    

En effet l'idéal serait d'avoir un service à "l' écoute".
Ceci dit après tests et recherches je pense que je n'aurai pas les compétences pour mener à bien un tel projet :-/


---------------
Galerie perso - - - Topic des tapeurs
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed