IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Appel de SendMessage sans effet dans une tâche planifiée


Sujet :

Windows

  1. #1
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut Appel de SendMessage sans effet dans une tâche planifiée
    Bonjour,
    je rencontre un problème d'usage de l'API SendMessage dans une tâche planifiée.
    L'objectif est d'activer ou désactiver la mise en veille de l'écran (Windows 8 Fr).
    Dans une console le code suivant (Powershell+P/Invoke C#) fonctionne, mais dans une tâche l'appel n'abouti pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     $Result=[Win32Functions.Message]::SendMessage( [Win32Functions.Message]::HWND_BROADCAST, 
                                                    [Win32Functions.Message]::WM_SYSCOMMAND,
                                                    [Win32Functions.Message]::SC_MONITORPOWER,
                                                    ($MonitorState -as [Int]))

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      public enum MonitorState {
           MonitorStateOn = -1, //The display is powering on
           MonitorStateOff = 2,  //The display is being shut off
           MonitorStateStandBy = 1  //The display is going to low power
      }
    De ce que j'ai pu lire sur le net, il y a un pb d'absence de pompe de message dans ce contexte.
    Je tente d'implémenter la solution proposée sur MSDN, mais sans succès pour le moment.
    A votre avis, ce code peut-il être utilisé dans une tâche planifiée ?
    Quelqu'un aurait-il une idée pour régler ce problème ou un exemple de code ?

    Merci.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Ton problème ne serait pas plutôt qu'une tâche planifiée n'a pas de contexte utilisateur et que la mise en veille de l'écran n'a de sens que pour une session utilisateur ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Ton problème ne serait pas plutôt qu'une tâche planifiée n'a pas de contexte utilisateur et que la mise en veille de l'écran n'a de sens que pour une session utilisateur ?
    Effectivement, je n'avais pas vu mon problème sous cet angle.

    Pourtant je testé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    powercfg /CHANGE /monitor-timeout-ac 1
    La veille se déclenche bien 'sur' l'écran d'ouverture de session, sans pour autant avoir de session active.
    Ensuite que l'appel système soit dans ce cas différent c'est fort probable, me resterais à savoir lequel est-ce.

Discussions similaires

  1. strstr dans une tâche planifiée
    Par yann123456 dans le forum Langage
    Réponses: 1
    Dernier message: 20/12/2010, 19h06
  2. Réponses: 0
    Dernier message: 26/09/2009, 16h12
  3. [vbnet 1.1]Inserer deux simple quote sans texte dans une db
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 8
    Dernier message: 15/03/2007, 08h51
  4. [Applet] appel de la méthode stop() dans une applet
    Par ciol2.6.12 dans le forum Applets
    Réponses: 4
    Dernier message: 08/09/2005, 13h40
  5. Appel d'un script SQL dans une procdure stockée
    Par doudou10000 dans le forum Oracle
    Réponses: 10
    Dernier message: 01/12/2004, 10h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo