पर लॉग ऑन नहीं है, तो मैं एक विंडोज सेवा एप्लिकेशन लिख रहा हूं जो कनेक्शन के लिए सुनता है और कुछ कार्यों को निष्पादित करता है जैसा कि नेटवर्क पर किसी अन्य कंप्यूटर पर चल रहे किसी अन्य एप्लिकेशन से निर्देशित किया जाता है।जांचें कि कोई उपयोगकर्ता वर्तमान में Windows
कार्यों में से एक यह सुनिश्चित करता है कि कोई उपयोगकर्ता वर्तमान में लॉग ऑन नहीं है, वर्कस्टेशन लॉक करता है, कुछ फ़ाइलों को हटा देता है, और फिर सिस्टम को पुनरारंभ करता है। मैंने चल रहे प्रक्रियाओं की सूची देखने के लिए this solution का उपयोग करने पर विचार किया और उपयोगकर्ता नामों की जांच की, यह निर्धारित करना कि सिस्टम, सिस्टम, आदि के खिलाफ उपयोगकर्ता नामों से मेल खाने पर कोई उपयोगकर्ता लॉग ऑन नहीं है। मुझे एहसास हुआ कि मेरे पास PostgreSQL चल रहा है जो पोस्टग्रेस नामक उपयोगकर्ता खाते का उपयोग करता है तो यह काम नहीं करेगा। यह जांच कर रहा है कि explorer.exe चल रहा है या नहीं, क्योंकि एक्सप्लोरर कभी-कभी दुर्घटनाग्रस्त हो जाता है, या मैं कभी-कभी प्रक्रिया को समाप्त करता हूं और इसे पुनरारंभ करता हूं।
यह निर्धारित करने का एक अच्छा तरीका क्या होगा कि कोई उपयोगकर्ता C# का उपयोग कर वर्कस्टेशन पर लॉग ऑन नहीं है?
बहुत बहुत धन्यवाद। मैं डब्लूएमआई का उपयोग करने में बहुत अच्छा नहीं हूं और त्रुटि के बाद त्रुटि मारने के बाद, फ्लोडिन के जवाब के लिए जाने का फैसला किया। यहां रुचि रखने वाले किसी और के लिए नमूना उपयोग है: http://www.pinvoke.net/default.aspx/wtsapi32/WTSEnumerateSessions.html – Zahymaka