2013-08-13 28 views
19

Tôi cần phát hiện chế độ trạng thái nguồn của hệ thống. Để được chính xác, tôi cần một sự kiện mà cháy lên khi windows 7 thức dậy từ giấc ngủ. Tôi đã sử dụng:Sự kiện phát hiện Hệ thống đánh thức từ chế độ ngủ trong C#

SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; 

Nhưng sự cố này xảy ra khi máy tính chuyển sang chế độ ngủ và sau khi máy tính thức dậy. Tôi muốn một sự kiện được nêu ra ở máy tính chỉ thức dậy. Có sự kiện nào cho việc này không?

+5

'PowerModeEventArgs' có một tài sản được gọi là' Mode' mà bạn có thể sử dụng để nói những gì nhà nước của nó trở về – Sayse

+0

Được rồi .. hãy để tôi thử với điều này .... cho bạn biết :) – Pankaj

+0

có thể bản sao của [Làm thế nào tôi có thể biết khi nào Windows đang đi vào/ra khỏi chế độ ngủ hoặc Hibernate?] (http://stackoverflow.com/questions/228288/how-can-i-know-when-windows-is-going- chế độ ra-ngủ-hoặc-ngủ đông) –

Trả lời

7

Bạn cần kiểm tra thuộc tính Mode của số PowerModeChangedEventArgs được chuyển đến sự kiện.

Từ MSDN:

  • Resume Hệ điều hành sắp trở lại từ trạng thái lơ lửng.

  • StatusChange Sự kiện thông báo trạng thái chế độ điện đã được hệ điều hành nâng lên. Điều này có thể cho biết yếu hoặc sạc pin , quá trình chuyển đổi giữa nguồn AC và pin hoặc thay đổi khác trong trạng thái nguồn điện hệ thống.

  • Suspend Hệ điều hành sắp bị tạm ngừng.

0
SystemEvents.PowerModeChanged += OnPowerModeChange; 
private void OnPoweModerChange(object s, PowerModeChangedEventArgs e) 
{ 
    if(e.Mode==PowerModes.Suspend) 
    { 
    //Apply your operation 
    } 
} 

Sử dụng mã này để làm công việc của bạn

Các vấn đề liên quan