2009-03-29 16 views
1

exactement comment aurais-je faire mes deux moniteurs vont dormir, je veux écrire une application moi-même parce que je voudrais ajouter certaines fonctionnalités, et jusqu'à présent, je ne trouve rien sur MSDN relatif à rendre votre écran aller à dormir.Faire endormir plusieurs moniteurs avec Windows API?

Répondre

3

Vous voulez quelque chose comme:

SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) 2); 

Il devrait fonctionner sur deux moniteurs.

Bien qu'il might be best not to use HWND_BROADCAST, but instead to use a HWND from your app's own window. Vous ne dites pas quelle langue vous utilisez, mais s'il s'agit de C# ou de VB.NET, il existe de nombreux exemples de démonstration de la façon de l'appeler à partir de ces langues.

+0

J'utilise C++ et il est une application console, j'appelle FreeConsole(); cacher la console dès qu'elle est exécutée. L'appel a fonctionné exactement comme je le voulais, mais comme je n'ai pas de fenêtre visible, dois-je utiliser mon propre HWND? –

+0

Au début, je pensais 'GetShellWindow()' était la bonne réponse, mais maintenant je ne suis pas si sûr ... – Mehrdad

0

Découvrez l'option SC_MONITORPOWER au message WM_SYSCOMMAND.

Il y a un CodeProject example pour C#.