2011-02-01 17 views
7

के बीच लॉगऑफ अधिसूचना घटनाओं में अंतर मेरे पास एक सेवा/एप्लिकेशन है जो विंडोज सत्र परिवर्तनों की अधिसूचनाएं प्राप्त करता है। मैंने विंडोज एक्सपी और विंडोज 7 के बीच व्यवहार में एक अंतर देखा है और यह स्थापित करने की कोशिश कर रहा हूं कि यह एक बग है या व्यवहार का दस्तावेज बदल गया है या नहीं।विंडोज एक्सपी और विंडोज 7

नोटिफिकेशन इस प्रकार के रूप में आते हैं: WTSSESSION_NOTIFICATION

विंडोज एक्सपी रिपोर्ट के अनुसार: WTS_SESSION_LOGON विंडोज जीयूआई लॉगऑन पर और: WTS_SESSION_LOGOFF विंडोज जीयूआई लॉगऑफ पर।

गुई लॉगिन WTS_SESSION_LOGON पर विंडोज 7 x64 के तहत उत्पन्न होता है लेकिन लॉगऑफ पर मुझे WTS_SESSION_LOGOFF ईवेंट की बजाय WTS_CONSOLE_DISCONNECT ईवेंट मिलता है।

क्या यह एक बग है या संस्करणों के बीच निरंतर मान बदल गए हैं? यह मेरे द्वारा विकसित की गई सेवा के लिए व्यापक रूप से महत्वपूर्ण नहीं है लेकिन मैं अभी भी जानना चाहूंगा कि यह अलग-अलग व्यवहार क्यों करता है।

+4

WTS_CONSOLE_DISCONNECT की बजाय WTS_CONSOLE_DISCONNECT ईवेंट? –

+0

लगातार मूल्य नहीं बदले, WTS_CONSOLE_DISCONNECT को XP के लिए परिभाषित किया गया था (एक त्वरित Google खोज के अनुसार)। क्या LOGOFF ईवेंट पूरी तरह गायब है? शायद Win7 लॉगऑफ से पहले सत्र को डिस्कनेक्ट कर देता है? – Zarat

+0

क्या आप 'WTSRegisterSessionNotification' या' RegisterServiceCtrlHandlerEx' का उपयोग कर रहे हैं? सत्र अलगाव के कारण, मैं पूर्व में Vista या Windows 7 पर सेवा के लिए काम करने की अपेक्षा नहीं करता। –

उत्तर

1

केवल सेवाएं विंडोज 7 के तहत WTS_SESSION_LOGOFF ईवेंट प्राप्त कर सकती हैं। जब तक सेवा अधिसूचना प्राप्त करती है तब लॉग ऑफ प्रक्रिया खत्म हो जाती है (इसलिए उपयोगकर्ता द्वारा चलाए जा रहे सभी ऐप्स पहले से ही मारे गए हैं)।

+0

पुन: (WTS_CONSOLE_DISCONNECT ईवेंट WTS_CONSOLE_DISCONNECT के बजाय?) यह एक गलती थी और मैंने सवाल संपादित किया है, इसलिए इसे सही ढंग से शब्द दिया गया है। –

+0

प्रश्न में कोड वास्तव में एक सेवा है। यह किसी दिए गए लॉगिन सत्र से स्वतंत्र होना चाहिए और वास्तव में यह जानना चाहिए कि निर्माण और गतिविधि लॉग के लिए कौन से लॉग इन और आउट हैं। चूंकि यह पहली मूल सेवा है जिसे मैंने लिखा है, मैंने अपने व्यवहार के बारे में कुछ गलत किया होगा, अगर यह केवल लॉगिन सत्र के दौरान शुरू होता है तो यह गलत काम कर रहा है। जो चीज़ मुझे लगता है वह यह है कि यह केवल विंडोज 7 है जो सत्र लॉगऑफ के बजाय कंसोल डिस्कनेक्ट इवेंट देता है। विंडोज विस्टा XP की तरह एक सत्र लॉगऑफ देता है, मुझे लगता है कि यह और अधिक आश्चर्यजनक है। –

+0

चूंकि इस सेवा को करने की आवश्यकता है यह ट्रैक है कि किसी ने लॉग इन किया है और लॉग आउट किया है। तथ्य यह है कि अपेक्षा से अलग घटना को निकाल दिया जा रहा है, किसी भी चीज़ से परेशान होना अधिक है। जैसा कि मुझे कोई दस्तावेज नहीं मिला है कि यह व्यवहार बदलना चाहिए था, मुझे नहीं पता कि यह विंडोज 7 में बस एक बग है या नहीं। इसके बारे में माइक्रोसॉफ्ट से संपर्क करने से पहले मैं सैनिटी जांचना चाहता था कि यह वास्तव में एक होने की संभावना है या नहीं मुझे मूर्खतापूर्ण दिखने के लिए माइक्रोसॉफ्ट से संपर्क करने से पहले व्यवहार में बहुत कम अनियंत्रित परिवर्तन या कम से कम अनियंत्रित परिवर्तन (या कम से कम सामान्य से अधिक)। –

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