2012-07-19 10 views
7

में स्लीप/हाइबरनेट और फिर से शुरू/वेकअप घटनाएं प्राप्त करें मेरे पास वीबी.नेट ऐप है जो कुछ बाहरी सर्वर (इंट्रानेट के माध्यम से लॉगिन सत्र बनाए रखता है) के साथ संचार करता है, और मैं स्लीप/हाइबरनेट घटनाओं को सुनना चाहता हूं जैसे कि ऐसा होता है, कंप्यूटर जाने से पहले मैं मौजूदा सत्र प्रणाली को लॉगआउट करना चाहता हूं, जबकि मेरा ऐप पृष्ठभूमि में चल रहा है लेकिन कुछ भी नहीं करेगा।विजुअल बेसिक .NET

और इसके विपरीत, जब कंप्यूटर हाइबरनेट से निकलता है या नींद से जागता है, तो मैं तुरंत सर्वर पर लॉगिन करना चाहता हूं।

मैं उन घटनाओं को कैसे पकड़ सकता हूं और अपना कोड निष्पादित कर सकता हूं? मेरा मानना ​​है कि यह Win32 एपीआई से संबंधित है जिसे मैं वीबी में उपयोग करना चाहता हूं।

धन्यवाद।

उत्तर

6

आपके आवेदन एक खिड़की उपयोग कर रहा है और संदेश पाश आप बस की तरह Microsoft.Win32.SystemEvents.PowerModeChanged की सदस्यता ले सकते पढ़ सकते हैं:

AddHandler Microsoft.Win32.SystemEvents.PowerModeChanged, AddressOf SystemEvents_PowerModeChanged 

Private Sub SystemEvents_PowerModeChanged(ByVal sender As Object, ByVal e As PowerModeChangedEventArgs) 

    Select Case e.Mode 
     Case PowerModes.Resume 
     Case PowerModes.StatusChange 
     Case PowerModes.Suspend 
    End Select 

End Sub 

अन्यथा, आप उदाहरण के लिए एक सेवा का उपयोग कर रहे हैं, तो आप एक गुप्त फ़ॉर्म बनाने के लिए वर्णित here (scroll down to 'Example 2')

0

की तरह नीचे की कोशिश:

पीसी को पुनः प्रारंभ करने

System.Diagnostics.Process.Start("Shutdown", " -r -t 00") 

पीसी

System.Diagnostics.Process.Start("Shutdown", " -s -t 00") 
को बंद करने के लिए
संबंधित मुद्दे