में सिस्टम ट्रे के लिए एकल उदाहरण बनाना मैं जावा में बनाए गए डेस्कटॉप एप्लिकेशन में काम कर रहा हूं। हम एप्लिकेशन के विंडोज संस्करण (विंडोज़ ओएस पर चलने के लिए) के लिए काम कर रहे हैं। जब हम हमारे आवेदन चलाने के लिए, यह systemtray रूपजावा
SystemTray tray = SystemTray.getSystemTray();
का उपयोग कर रहा सिस्टम ट्रे, जो मैं अनुप्रयोग का मुख्य वर्ग में बनाने रहा हूँ की एक उदाहरण बनाने रहा द्वारा डेस्कटॉप पर एक ट्रे आइकन पैदा करता है।
मैं अपने आवेदन के लिए exe बना रहा हूँ। मेरी समस्या यह है कि जब मैं अपने आवेदन की exe फ़ाइल चला रहा हूं, तो यह हर बार ट्रे आइकन बनाता है।
मैं अपने एप्लिकेशन में केवल एक ट्रे आइकन डेस्कटॉप पर मौजूद हूं और सेवा के रूप में चल रहा हूं। जब एप्लिकेशन अनइंस्टॉल किया जाता है, तो यह आइकन केवल हटा दिया जाना चाहिए। इसे पृष्ठभूमि में सेवा के रूप में चलाया जाना चाहिए।
मुझे कोई रास्ता नहीं मिल रहा है जो मुझे सेवा के रूप में अपना आवेदन चलाने में मदद करेगा और पृष्ठभूमि में केवल एक ही उदाहरण चलाना चाहिए।
मैं एक सेवा के रूप में एक ट्रे आइकन बनाकर अपना आवेदन चलाने के लिए चाहता हूं और एक उदाहरण होना चाहिए। कृपया इस मुद्दे में मुझे मार्गदर्शन करें।
अग्रिम में आपके सभी मूल्यवान सुझावों के लिए धन्यवाद।
उत्तर देने के लिए धन्यवाद मुझे उम्मीद है कि यह मेरे लिए काम करेगा। कृपया सेवा भाग में कुछ और बताएं। – Toman
मुझे नहीं लगता कि जावा में एक विंडोज सेवा बनाना संभव है, जिसका मतलब है कि एक सेवा जो स्वचालित रूप से स्टार्टअप पर चल सकती है, और जिसे अन्य मानक विंडोज सेवाओं की तरह प्रबंधित किया जा सकता है। लेकिन आप रजिस्ट्री में एक प्रविष्टि जोड़कर कुछ ऐसा कर सकते हैं (Google "विंडोज स्वचालित स्टार्टअप" जैसे कुछ)। जब आपका प्रोग्राम लॉन्च किया जाता है, तो यह जांच करेगा कि कोई और उदाहरण चल रहा है या नहीं। यदि नहीं, तो यह आपके जैसे सिस्टम ट्रे आइकन बनाएगा, और इसकी खिड़कियों को छुपाएगा (यदि यह वास्तव में किसी प्रकार का जीयूआई उपयोग कर रहा है)। –