Traitement en sortie de veille

Résolu
Bonjour tout le monde,

Existe-t-il un programme capable de déclencher un traitement en sortie de veille, ou dois-je mettre les mains dans le cambouis pour ça ?

Tant qu'à faire j'explique pour quoi faire ...

Sur une machine Vista, j'utilise le programme PopTray pour détecter si l'utilisateur a reçu des mails. ça marche bien, mais PopTray ne se déclenche que périodiquement, donc il faut lui indiquer un intervalle : j'ai mis dix minutes, donc si l'utilisateur ne touche à rien, il n'est avisé de son mail qu'au bout de dix minutes, donc pour alors il a remis sa machine en veille depuis belle lurette, et ça peut durer une semaine comme ça.

Alors j'ai dit à l'utilisateur d'appuyer sur Ctrl F12 après avoir réveillé la machine, et à PopTray de vérifier les mails à réception de la combinaison de touches Ctrl F12.

ça marche bien, la question est comment faire faire ça par un programme plutôt que par l'utilisateur.

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Ah, pardon, j'avais oublié le fil ...

    Alors ça y est. J'ai trouvé l'essentiel de ChangePower.VBS tout prêt chez Microsoft, alors après ça devenait plus facile :

    1/ dans le groupe de démarrage, raccourci vers RunChangePower.VBS

    2/ RunChangePower.VBS : ****************************
    MsgBox("Surveillance de veille")
    // la seule chose qui apparaît à l'utilisateur
    Set WshShell = WScript.CreateObject("WScript.Shell")
    WshShell.Run "C:\Windows\System32\cscript.exe ChangePower.vbs", 0
    // exécution de ChangePower en fenêtre cachée

    3/ ChangePower.VBS : *******************************
    Set colMonitoredEvents = _
    GetObject("winmgmts:").ExecNotificationQuery(_
    "SELECT * FROM Win32_PowerManagementEvent")
    Do
    Set strLatestEvent = colMonitoredEvents.NextEvent
    Wscript.Echo strLatestEvent.EventType
    WScript.Echo Time
    WScript.Echo "."
    If strLatestEvent.EventType = "7" then
    Set WshShell = WScript.CreateObject("WScript.Shell")
    WScript.Sleep 7000
    WshShell.SendKeys "^{F12}"
    WScript.Echo "Mise à jour du compte de mails"
    // Tiens j'étais persuadé de l'avoir mis en commentaires celui-là
    // Ah mais de toute manière, le texte s'affiche dans une fenêtre cachée ...
    End If
    Loop
    1. Désolé je n'ai pas assimilé comment on fait pour marquer sa propre réponse comme bonne réponse.
    2. Contributeur
      @Gloops1Bonjour.
      En haut de page faire marquer en résolu,merci.
    3. Merci. Même une fois que je savais il a fallu que je cherche un moment ...