आप Vista here में पेश किए गए परिवर्तनों के बारे में सब कुछ पढ़ सकते हैं। आपको वास्तव में उस लेख को बहुत सावधानी से पढ़ना चाहिए।
एपीआई जिन्हें आप ढूंढ रहे हैं ShutdownBlockReasonCreate
, ShutdownBlockReasonDestroy
और ShutdownBlockReasonQuery
हैं। याद रखें कि ये एपीआई केवल Vista/2008 सर्वर पर उपलब्ध हैं। आपको 2000/XP पर पतन वापस व्यवहार लागू करना होगा।
यदि आपको शटडाउन को अवरुद्ध करने की आवश्यकता है तो आप ShutdownBlockReasonCreate
को अपनी मुख्य विंडो में हैंडल पास कर रहे हैं और एक स्ट्रिंग के कारण को कॉल करते हैं। यह स्ट्रिंग शटडाउन अवरुद्ध संवाद में प्रदर्शित होती है, यानी आपके स्क्रीनशॉट में "1 वर्चुअल मशीन उपयोग में है"।
यदि शटलडाउन को अवरोधित करने वाला ऑपरेशन पूरा हो जाता है तो आप ShutdownBlockReasonDestroy
पर कॉल करते हैं।
ध्यान दें कि आपको सभी टुकड़ों को एक साथ फिट करने के लिए अभी भी WM_QUERYENDSESSION
लागू करना होगा। यह वह हिस्सा है जो वास्तव में शटडाउन को अवरुद्ध करता है।
XP पर आपको WM_ENDSESSION
का भी जवाब देना चाहिए और यदि आपका ऐप बंद हो गया है तो यह संकेत देने वाला संदेश दिखाने के लिए विनम्र है। यदि आप ऐसा नहीं करते हैं तो उपयोगकर्ता अपने सिर को खरोंच कर रहा है कि क्यों कंप्यूटर शटडाउन के निर्देश को अनदेखा कर रहा है।
स्रोत
2011-09-24 09:05:41
मुझे पता है कि कमांड लाइन पर शट डाउन कमांड का उपयोग करते समय कोई कस्टम शटडाउन संदेश प्रदर्शित करने के लिए निर्दिष्ट कर सकता है, शायद यह संबंधित है? – stijn