2010-06-05 15 views
0

Une application tierce est en cours d'exécution. Il affiche la boîte de dialogue de connexion lorsqu'il est inactif pendant 20 minutes. Nous devons empêcher l'application d'afficher l'écran de connexion.Expiration de la session inactive d'une application tierce

Nous n'avons aucune idée de la façon dont l'état inactif est géré en interne dans cette application.

Nous avons fait le suivant sans succès.

  1. a créé une petite application en C# qui se concentrent après toutes les 5 minutes (en utilisant SetForegroundWindow()) et envoyer un message à une BM_CLICK de sa fenêtre enfant. Ne marche pas.
  2. Effectuez la mise au point toutes les 5 minutes (en utilisant SetForegroundWindow()) et déplacez le curseur de quelques pixels, puis rétablissez le curseur à sa position précédente. Cela ne fonctionne pas aussi!

Existe-t-il un autre moyen d'atteindre cet objectif?

Répondre

0

Si une application tierce détecte un état inactif à l'aide de la fonction GetLastInputInfo, vous pouvez essayer SendInput pour réinitialiser un état inactif. Trouver un événement d'entrée qui n'affecte pas l'exécution normale du programme, comme le mouvement de la souris à 1 ou même 0 pixels.

+0

J'ai essayé ceci. Lisez ma question à nouveau. J'ai utilisé sendmessage pour y parvenir. – Manjoor

+0

SendInput n'est pas égal à BM_CLICK. De toute façon, je suis heureux de relire votre question, merci :) –

+0

Ok merci laissez-moi essayer avec sendinput – Manjoor