2009-03-17 4 views
7

मेरे पास एक विंडोज सेवा है जो पीसी शुरू होने पर पृष्ठभूमि में चलता है। मैं सिस्टम ट्रे पर एक आइकन प्रदर्शित करना चाहता हूं ताकि उपयोगकर्ता लॉग इन करने के बाद कॉन्फ़िगरेशन की अनुमति दे सके लेकिन यह नहीं पता कि यह कैसे किया जाए।मैं सिस्टम ट्रे में प्रदर्शित करने के लिए अपनी विंडोज सेवा कैसे प्राप्त कर सकता हूं?

क्या कोई ऐसी घटना है जिसे मुझे ढूंढना चाहिए जिसके लिए मुझे पता चलता है कि उपयोगकर्ता ने लॉग इन किया है?

जैसा कि मैं समझता हूं कि विंडोज सेवाओं में यूआई नहीं हो सकता है, तो क्या मुझे sys ट्रे आइकन प्रदर्शित करने के लिए एक ऐप शुरू करने की आवश्यकता है? मैं अपनी सेवा में कॉन्फ़िगरेशन अपडेट कैसे पास कर सकता हूं।

उत्तर

11

आप इसके लिए एक अलग "एजेंट" आवेदन चाहते हैं। एक विंडोज सेवा वैश्विक स्तर पर है, जो सिस्टम स्तर पर चल रही है। सिस्टम पर कई डेस्कटॉप चलने वाले कई डेस्कटॉप हो सकते हैं, इसलिए डेस्कटॉप परत के साथ बातचीत करने की अनुमति देने के तरीके हैं, लेकिन "उपयोगकर्ता डेस्कटॉप" के साथ बातचीत करने के लिए यह बहुत ही कम है, जैसा कि आप किसी एप्लिकेशन के साथ करते हैं पहले से ही एक विशिष्ट लॉगिन/डेस्कटॉप वातावरण के लिए बाध्य है।

डेस्कटॉप वातावरण में सेवा सुरंग होने के साथ सुरक्षा जोखिम भी शामिल हैं (यह एक सिस्टम खाते के लिए एक मार्ग खोलता है जब तक कि सेवा अधिक प्रतिबंधित एक पर नहीं चलती), यही कारण है कि डेस्कटॉप के साथ बातचीत करना अक्षम है चूक।

+3

यह सही जवाब है। एक नामित पाइप सेवा ट्रे एजेंट के साथ संवाद करने के लिए सेवा के लिए एक अच्छा तरीका प्रदान करता है। लेकिन: कृपया विचार करें कि आपकी सेवा वास्तव में बहुत बढ़िया है [http://blogs.msdn.com/b/oldnewthing/archive/2010/12/15/10105142.aspx] सिस्टम ट्रे में अपने आइकन की योग्यता के लिए। –

2

मैं एक दूसरे अनुप्रयोग है कि चलाता है और सिस्टम ट्रे में प्रदर्शित करता है खुद बनाते समय करते में उपयोगकर्ता के लॉग।

आप खिड़कियों सेवा करने के लिए दूरस्थ खोल सकते हैं और ऐप्स से अवगत कराया तरीकों के माध्यम से विन्यास अपडेट पारित सिस्टम ट्रे

5

ट्रे आइकन दिखाने के लिए आपको एक अलग एप्लिकेशन की आवश्यकता होगी। आप सेवा सेवा को डब्ल्यूसीएफ सेवा या ServiceController के माध्यम से डब्ल्यूसीएफ के माध्यम से या तो अपनी सेवा के साथ संवाद कर सकते हैं।

2

दरअसल, मुझे नहीं लगता कि आप सिस्टम ट्रे में एक सेवा दिखा सकते हैं। ऐसा करने वाले अनुप्रयोग हमेशा एजेंट या अन्य मैंगमेंट टूल का उपयोग कर रहे हैं।

अधिकांश समय ट्रे में चल रहे एप्लिकेशन सेवा के लिए सेटिंग्स तक पहुंच प्रदान करने वाला एक बहुत ही छोटा ऐप है।

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