Comment allumer et éteindre un moniteur à partir d'une application Java? Dans le cas où vous vous demandez pourquoi, c'est une application de style kiosque où il serait bien d'éteindre les moniteurs la nuit. Oui, vous pouvez le faire dans les paramètres de l'économiseur d'écran de la machine, mais ce serait génial de le faire par programmation et d'éviter d'avoir à le configurer sur chaque machine.Comment allumer et éteindre un moniteur à partir d'une application Java?
Répondre
En supposant que vous déployez vos applications Java sur Windows, vous pouvez utiliser ces fonctions Win32API:
// turn off monitor
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) 2);
// turn on monitor
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) -1);
Ensuite, vous écrivez un peu C-JNI wrapper aux fonctions qui appellent les mentionnées SendMessage
et utilisent le petit wrapper pour éteindre le moniteur de Java.
Bien que vous puissiez interroger les configurations de moniteur avec Java, il n'y a aucun moyen d'activer et de désactiver les moniteurs par programmation sans utiliser JNI.
Vous pouvez ouvrir une fenêtre pivotante plein écran, la rendre complètement noire, de sorte que le moniteur, en ce qui concerne le comportement observable, est désactivé.
Bonne idée! Pour rendre votre solution encore meilleure, vous pouvez connecter une webcam au PC-kiosque et prendre une photo avant de "fermer". Ensuite, il serait possible de calculer (peut-être avec l'API Java Advanced Imaging (JAI)) et montrer une image des réflexions, qui seraient montrées si le moniteur était vraiment éteint. Mieux que de montrer juste un écran noir, maintenant plus de 95 pour cent des gens qui marchent ne pouvaient pas faire la différence. Oh, et si le moniteur est doté d'une DEL de mise sous tension à l'avant, l'utilisation d'un crayon de retouche de la couleur de l'étui pour le repeindre serait la plus appropriée. – bobndrew
La peinture en aérosol noire ne serait-elle pas plus efficace? :-) –
J'ai vu cet exe nommé nircmd sur le net. C'est un freeware et peut être utilisé par n'importe qui.Il a une fonction intégrée pour ce faire.
nircmd.exe monitor off
Une aide détaillée est également présente sur le site Web. Il suffit d'utiliser dans votre programme et appeler à l'aide
Runtime.getRuntime().exec(this.getClass().getResource("nircmd.exe").getPath());
ou de le mettre dans le répertoire Windows et l'exécuter à partir de là.
- 1. Allumer/éteindre la lampe LED USB
- 2. Moniteur série Arduino et java réinitialise les variables
- 3. Comment allumer le moniteur après le réveil du mode suspension?
- 4. Comment éteindre correctement l'alimentation du moniteur en C#?
- 5. Allumer l'ordinateur avec un périphérique USB
- 6. Application de moniteur Procrun pour programme Java
- 7. C# éteint sélectivement le moniteur
- 8. Comment interrompre un autre thread à partir d'un moniteur Thread
- 9. Peut-on allumer/éteindre la lumière Scroll Lock en suivant les instructions du logiciel?
- 10. Lancer une application java webstart à partir d'une application java
- 11. Api pour allumer votre ordinateur
- 12. Lancer une application Java à partir d'une autre application Java
- 13. Moniteur réseau Java
- 14. Éteindre l'écran
- 15. WM_NCHITTEST et moniteur secondaire à gauche du moniteur principal
- 16. Exécuter iwconfig à partir d'une application Java
- 17. Comment puis-je éteindre Windows?
- 18. Comment éteindre l'ordinateur?
- 19. Appel de Java à partir d'une application de console Java et d'une application ASP.NET
- 20. Lancer une application et l'envoyer au second moniteur
- 21. Comment lancer une application java à partir de Dock, Mac
- 22. Comment exécuter une application xulrunner à partir du code java?
- 23. Comment extraire des données à partir d'une application Web Java?
- 24. Comment accéder à un fichier sous WEB-INF à partir d'une application Web Java
- 25. Application C++ pour détacher le moniteur secondaire
- 26. Ecrire un plugin firefox et y accéder à partir d'une application java
- 27. Programmation forcez l'écran pour allumer dans blackberry
- 28. Comment enregistrer du son et l'envoyer à un serveur à partir d'une application Web?
- 29. Éteindre l'éclipse confirmer déplacer
- 30. Éteindre une requête Servlet interne dans Tomcat
Alternativement à JNI, vous pouvez utiliser JNA pour appeler le WIN32API directement, en évitant d'avoir besoin d'un code de collage C. http://en.wikipedia.org/wiki/Java_Native_Access –