2010-01-26 16 views
39

कैसे प्राप्त कर सकता हूं मैं जानना चाहता हूं कि विंडोज एपीआई फ़ंक्शन (यदि कोई मौजूद है) क्या है जो पिछले विंडोज रीबूट स्रोत के बारे में जानकारी प्रदान करता है। तीन मुख्य संभावित कारण हैं:मैं विंडोज़ अंतिम रीबूट कारण

  1. कंप्यूटर नीली स्क्रीन
  2. एक उपयोगकर्ता या एक कार्यक्रम शटडाउन होने पर दुर्घटनाग्रस्त हो गया/कंप्यूटर
  3. एक बिजली

अधिक जानकारी के मैं कर सकते हैं खो को पुनः आरंभ बेहतर हो जाओ। हालांकि, मुझे कम से कम यह जानने की जरूरत है कि यह मुख्य कारणों से है।

मैं Windows Vista और Windows समर्थन करने की आवश्यकता 7.

उत्तर:

ऐसा लगता है कि जानकारी पाने के लिए कोई सीधा एपीआई नहीं है। इसके बजाय, हमें विंडोज इवेंट लॉग फसल करना है। सिस्टम रीबूट जानकारी इवेंट व्यूअर/विंडोज लॉग/सिस्टम में स्थित है।

  • 6005:: Windows शुरू हुआ
  • 6006: Windows शट डाउन (ठीक से)
  • 6008: यहाँ घटना आईडी द्वारा प्रदान की विभिन्न जानकारी है विंडोज शटडाउन (अप्रत्याशित रूप से)

मैं बिजली खोने और सिस्टम दुर्घटना के बीच अभी तक अंतर नहीं मिला है, लेकिन यह एक अच्छी शुरुआत है।

+0

संभव डुप्लिकेट: http://stackoverflow.com/questions/1315858/get-windows-server-shutdown-reason-in-c –

+2

इस पोस्ट के बारे में सी # है, मैं Windows API जरूरत (सी/सी ++) – Frederic

उत्तर

16

मदद कर सकता है Event Log API पर एक नजर डालें देख सकते हैं। केस ए) (ब्लूस्क्रीन, उपयोगकर्ता पावर कॉर्ड या सिस्टम लटकता है) अगली बार जब सिस्टम ठीक से रीबूट किया जाता है तो 'सिस्टम' ईवेंट लॉग में छोड़े जाने के लिए एक नोट ('सिस्टम सही ढंग से बंद नहीं किया गया' या उस तरह कुछ) छोड़ देता है। आप उपर्युक्त एपीआई का उपयोग करके इसे प्रोग्रामेटिक रूप से एक्सेस करने में सक्षम होना चाहिए (ईमानदारी से, मैंने इसका कभी भी उपयोग नहीं किया है लेकिन इसे काम करना चाहिए)।

+0

अच्छा लगता है लेकिन मुझे क्या देखना चाहिए? – Frederic

+1

पाया, यह सिस्टम इवेंट लॉग में है। – Frederic

+1

मैंने देखा है कि यह संदेश तब प्रकट होता है जब सिस्टम फ्रीज करता है: "सिस्टम को पहले बंद करने के बिना रीबूट किया गया है। यह त्रुटि तब हो सकती है जब सिस्टम ने जवाब देना बंद कर दिया हो, क्रैश हो या अप्रत्याशित रूप से बिजली खो दी।" यह एक सामान्य संदेश की तरह लगता है। क्या किसी को पता है कि ब्लूज़क्रेंस और सिस्टम फ्रीज के बीच अंतर करने का कोई तरीका है या नहीं? –

20

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

  1. प्रेस विंडोज + आर कुंजी चलाएं संवाद, प्रकार eventvwr.msc को खोलने के लिए, और Enter दबाएं।

  2. यदि यूएसी द्वारा संकेत दिया गया है, तो हाँ (विंडोज 7/8) या जारी रखें (Vista) पर क्लिक/टैप करें।

  3. इवेंट व्यूअर के बाएं फलक में, इसे विस्तारित करने के लिए विंडोज लॉग पर डबल क्लिक/टैप करें, इसे चुनने के लिए सिस्टम पर क्लिक करें, फिर सिस्टम पर राइट क्लिक करें, और फ़िल्टर वर्तमान लॉग पर क्लिक/टैप करें।

  4. क्या शट डाउन ईवेंट आप देखना चाहते हैं इसके लिए नीचे 5 या 6 कदम उठाएं।

  5. तिथियां और कंप्यूटर

    एक के सभी उपयोगकर्ता के बंद के समय देखने के लिए) घटना स्रोतों, जांच USER32 बॉक्स के दाईं ओर ड्रॉप डाउन तीर पर नल क्लिक करें /, और क्लिक करें/नल मैदान में।

    बी) फ़ील्ड में, 1074 टाइप करें, फिर ठीक क्लिक करें/टैप करें।

    सी) यह आपको पावर ऑफ (शटडाउन) की एक सूची देगा और को पुनरारंभ करेगा इवेंट व्यूअर में मध्य फलक के शीर्ष पर स्थित शटडाउन प्रकार।

    डी) आप इन सूचीबद्ध घटनाओं के माध्यम से शटरडाउन प्रकार के रूप में पावर ऑफ के साथ ईवेंट ढूंढने के लिए स्क्रॉल कर सकते हैं। आप दिनांक और समय नोटिस करेंगे, और कंप्यूटर सूचीबद्ध कंप्यूटर बंद करने के लिए कंप्यूटर को बंद करने के लिए कौन सा उपयोगकर्ता जिम्मेदार था।

    ई) कदम 7.

  6. तिथियां और कंप्यूटर

    एक सब के सब अप्रत्याशित के बंद) क्षेत्र में टाइम्स ऑफ देखने जाना, प्रकार 6008, फिर ठीक पर क्लिक करें/टैप करें।

    बी) यह आपको इवेंट व्यूअर में मध्य फलक के शीर्ष पर अप्रत्याशित शट डाउन ईवेंट की एक सूची देगा। आप इन सूचीबद्ध घटनाओं को प्रत्येक के दिनांक और समय को देखने के लिए स्क्रॉल कर सकते हैं।

  7. समाप्त होने पर, आप ईवेंट व्यूअर को बंद कर सकते हैं।

+0

बिल्कुल सही। मैंने USER32 के साथ इवेंट सोर्स फ़िल्टर का उपयोग किया और पाया कि डेल रिकवरी मेरे सिस्टम को रिबूट कर रही थी। – max

+0

धन्यवाद! ** 6008 ** की इवेंट आईडी के साथ फ़िल्टरिंग सिस्टम इवेंट्स, शटडाउन के कारण होने वाली महत्वपूर्ण घटनाओं को सूचीबद्ध करता है। –

+0

यह अनिवार्य रूप से एक लिंक-केवल उत्तर है। यदि लिंक पहुंच योग्य हो जाता है, तो यह उत्तर किसी भी उपयोगी जानकारी से रहित हो जाता है। इसके अलावा, ओपी एक एपीआई कॉल मांग रहा है। आपका लिंक मैन्युअल चरणों की श्रृंखला के माध्यम से उपयोगकर्ता को नेविगेट करके उत्तर प्रदान करता है। यह पूछे गए समस्या का हल नहीं है। – IInspectable

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