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:
Où
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]))
De ce que j'ai pu lire sur le net, il y a un pb d'absence de pompe de message dans ce contexte.
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 }
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.
Partager