2010-09-07 13 views
6

जावा एप्लिकेशन के भीतर से आप मॉनिटर को चालू और बंद कैसे करते हैं?जावा एप्लिकेशन के भीतर से आप मॉनिटर को चालू और बंद कैसे करते हैं?

यदि आप सोच रहे हैं कि यह एक कियोस्क शैली का आवेदन है जहां रात में मॉनीटर बंद करना अच्छा होगा। हां, आप इसे मशीन की स्क्रीनसेवर सेटिंग्स में कर सकते हैं, लेकिन प्रोग्रामिंग के लिए यह बहुत अच्छा होगा और प्रत्येक मशीन पर इसे कॉन्फ़िगर करने से बचें।

उत्तर

10

आप Windows पर अपने जावा अनुप्रयोगों को तैनात मान लिया जाये, तो आप इस 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);  

तो फिर तुम लिखना एक छोटे से C-JNI wrapper कार्यों कि उल्लेख किया SendMessage फोन और छोटे आवरण का उपयोग पर नजर रखने के बंद करने के लिए करने के लिए जावा से

+5

वैकल्पिक रूप से जेएनआई के लिए, आप किसी भी सी गोंद कोड की आवश्यकता से बचने के लिए सीधे WIN32API को कॉल करने के लिए जेएनए का उपयोग कर सकते हैं। http://en.wikipedia.org/wiki/Java_Native_Access –

2

जबकि आप जावा के साथ मॉनिटर कॉन्फ़िगरेशन क्वेरी कर सकते हैं, तो जेएनआई का उपयोग किये बिना मॉनीटर को प्रोग्रामेटिक रूप से चालू और बंद करने का कोई तरीका नहीं है।

-4

आप एक पूर्ण स्क्रीन स्विंग विंडो खोल सकते हैं, इसे पूरी तरह से काला बना सकते हैं, इसलिए मॉनीटर, जहां तक ​​देखने योग्य व्यवहार का संबंध है, बंद कर दिया गया है।

+5

अच्छा विचार! अपने समाधान को और भी बेहतर बनाने के लिए, कोई कियोस्क-पीसी पर वेबकैम संलग्न कर सकता है और "शट डाउन" से पहले एक फोटो ले सकता है। फिर गणना करना संभव होगा (शायद जावा एडवांस्ड इमेजिंग (जेएआई) एपीआई के साथ) और प्रतिबिंबों की एक तस्वीर दिखाएं, जो दिखाया जाएगा कि मॉनिटर वास्तव में बंद हो गया था या नहीं। सिर्फ एक ब्लैक स्क्रीन दिखाने से बेहतर, अब चलने वाले 95 प्रतिशत से अधिक लोग अंतर नहीं बता सकते थे। ओह, और अगर मॉनिटर के सामने एक पावर-ऑन-एलईडी है, तो इसे रंग देने के मामले में टच-अप पेंसिल का उपयोग सबसे उपयुक्त होगा। – bobndrew

+3

ब्लैक स्प्रे पेंट अधिक प्रभावी नहीं होगा? :-) –

2

मैंने नेट पर nircmd नामक इस exe को देखा है। यह एक फ्रीवेयर है और किसी के द्वारा इसका इस्तेमाल किया जा सकता है। यह करने के लिए इसमें एक अंतर्निहित कार्य है।

nircmd.exe monitor off 

एक विस्तृत मदद भी वेबसाइट में पाया जाता है। बस अपने कार्यक्रम में इसका इस्तेमाल करते हैं और

Runtime.getRuntime().exec(this.getClass().getResource("nircmd.exe").getPath()); 

का उपयोग कर इसे कहते हैं या इसे खिड़कियों निर्देशिका के लिए डाल दिया और वहां से चलाना।

संबंधित मुद्दे