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:
1 2 3 4 5
|
$Result=[Win32Functions.Message]::SendMessage( [Win32Functions.Message]::HWND_BROADCAST,
[Win32Functions.Message]::WM_SYSCOMMAND,
[Win32Functions.Message]::SC_MONITORPOWER,
($MonitorState -as [Int])) |
Où
Code:
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.