Activer/désactiver le moniteur
Est par programmation possible de transformer un moniteur sous/hors tension à l'aide de code (C#)?
- En ajoutant "par programme" quelque part dans votre question peut vous faire économiser de l'downvotes.. mes 2 cents 🙂
- D'accord avec ci-dessus: même si cela n'a pas gagné le " gentil question prix, je me suis personnellement en désaccord avec beaucoup de downvotes. C'est effectivement une bonne question.
- Tout le monde pense qu'ils sont plus intelligents que les OP et connaît son/son problème. Vinoth na pas demander comment le faire avec un bouton, il/elle a demandé si c'était possible avec le code...
- C'est plutôt une question typique de Vinoth, en dépit des commentaires et des informations utiles sur l'amenant à poser de meilleures questions, il a toujours des trolls hors mal posée ambigu questions.
- Je ne suis pas d'accord avec vous. Ce n'est pas à la traîne, vous pourriez donner la réponse à la question et ne cherche pas à downvote cette simple question.
- C'est cool, vous avez droit à votre opinion. J'en ai vu assez spectaculaire à la traîne par un utilisateur appelé "Vinoth", dans l'équité, cela peut ne pas être le même utilisateur, mais le minimaliste questions me donne à penser qu'il est.
- Si c'est pour économiser de l'énergie, que je travaille pour une grande entreprise qui pourrait les sauver de la puissance de trop...
- L'un des inconvénients de la possibilité de modifier les questions que vous pouvez venir à la fête un peu en retard et rater quelque chose. La question était de mauvaise qualité, à commencer par où l'downvotes et moins de réponses utiles
- Pour référence : La question d'origine était - "salut j'ai besoin d'allumer/éteindre le moniteur.... comment faire cela..."
- Anthony.. je comprends... mais j'étais le seul qui a édité la question.
- L'ajout de la croix-référence: stackoverflow.com/questions/2576431/...
Vous devez vous connecter pour publier un commentaire.
Avez-vous même essayer de googler il?
Premier succès:
http://www.codeproject.com/KB/cs/Monitor_management_guide.aspx
Je ne suis pas surpris que vous devez utiliser certaines DLL est fourni par Windows.
(J'ai deviné que vous aviez besoin d'une solution C#, parce que c'est la seule étiquette que vous avez appliqué).
MODIFIER le 8 février 2013:
Il a été mentionné que la solution ne fonctionne plus sous Windows 7 fr 8. Eh bien en voici un qui fonctionne très bien sous Windows 7, n'ont pas essayé Windows 8.
http://cocoa.ninja/posts/Turn-off-your-monitor-in-Csharp.html
Appuyez sur le bouton on/off
Si vous voulez le faire dans le code, apparemment c'est possible dans l'API Win32:
SendMessage hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, param
où WM_SYSCOMMAND = 0x112 et
SC_MONITORPOWER = 0xF170 et
param indique la mode pour mettre le moniteur en:
-1 : sur
2 : off
1 : le mode économie d'énergie
hWnd peut être un handle de la fenêtre - si vous avez une Forme, quelque chose comme cela devrait fonctionner
Note, je n'ai même pas essayé...
La réponse https://stackoverflow.com/a/713504/636189 ci-dessus fonctionne très bien pour éteindre Windows 7/8 surveiller, mais pas pour le réveiller. Sur ces systèmes, vous aurez besoin de faire quelque chose hackish comme ceci (que l'on trouve https://stackoverflow.com/a/14171736/636189):
powershell (Add-Type '[DllImport(\"user32.dll\")]^public static extern void mouse_event(uint dwFlags, int dx, int dy, uint dwData, int dwExtraInfo);' -Name user32 -PassThru)::mouse_event(1,40,0,0,0)
Ce code peut être utile pour allumer et éteindre.. Il a travaillé dans Windows 7 également.
Pour l'appel de la fonction, vous devez faire comme:
OU
Remarque: Ce code testé en Application WPF. Avec les espaces de noms:
Pour qui souhaite cette fonctionnalité sur un application console:
Adaptés et testés. 100% de travail sur Windows 8.
HWND_BROADCAST
etPostMessage()
.Je ne pouvais pas trouver un copier coller exemple, créé un moi-même, n'oubliez pas d'ajouter une référence à System.De Windows.Les formulaires.
Je suis passé par chaque méthode unique que tout le monde a publié pour mettre un écran de veille et de sommeil plus tard à un autre moment. Accordé le
SendMessage()
fonctionne avec Windows XP, mais il ne veut pas réveiller l'écran après le moniteur de sommeil, pour une période de temps. J'ai essayé à l'aide de C#, de DOS, de scripts pour jouer avec des profils de consommation, et Powershell. Finalement, j'ai abandonné et est revenue au début et ma première pensée a été prouvé correct. Vous devez utiliser lePostMessage()
fois que l'appareil a été éteint, mieux encore, vous devriez toujours utiliserPostMessage()
;Sorte que tout le code que vous avez vu auparavant, c'est correct, utilisez plutôt la commande suivante:
À cette époque de l'exécution et de travail de façon appropriée (Mai 11, 2015), je suis en cours d'exécution
Mon système est complètement à jour.
La réponse avec le moins de SLOC: