Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Seus aplicativos do Windows Forms podem aproveitar os recursos de gerenciamento de energia no sistema operacional Windows. Seus aplicativos podem monitorar o status de energia de um computador e tomar medidas quando ocorrer uma alteração de status. Por exemplo, se o aplicativo estiver em execução em um computador portátil, talvez você queira desabilitar determinados recursos em seu aplicativo quando a carga da bateria do computador estiver abaixo de um determinado nível.
O .NET Framework fornece um PowerModeChanged evento que ocorre sempre que há uma alteração no status de energia, como quando um usuário suspende ou retoma o sistema operacional, ou quando o status de energia AC ou da bateria é alterado. A PowerStatus propriedade da SystemInformation classe pode ser usada para consultar o status atual, conforme mostrado no exemplo de código a seguir.
public Form1()
{
InitializeComponent();
SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(SystemEvents_PowerModeChanged);
}
void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
switch (SystemInformation.PowerStatus.BatteryChargeStatus)
{
case System.Windows.Forms.BatteryChargeStatus.Low:
MessageBox.Show("Battery is running low.", "Low Battery", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
break;
case System.Windows.Forms.BatteryChargeStatus.Critical:
MessageBox.Show("Battery is critcally low.", "Critical Battery", MessageBoxButtons.OK, MessageBoxIcon.Stop);
break;
default:
// Battery is okay.
break;
}
}
Public Sub New()
InitializeComponent()
AddHandler Microsoft.Win32.SystemEvents.PowerModeChanged, AddressOf PowerModeChanged
End Sub
Private Sub PowerModeChanged(ByVal Sender As System.Object, ByVal e As Microsoft.Win32.PowerModeChangedEventArgs)
Select Case SystemInformation.PowerStatus.BatteryChargeStatus
Case BatteryChargeStatus.Low
MessageBox.Show("Battery is running low.", "Low Battery", MessageBoxButtons.OK, _
System.Windows.Forms.MessageBoxIcon.Exclamation)
Case BatteryChargeStatus.Critical
MessageBox.Show("Battery is critically low.", "Critical Battery", MessageBoxButtons.OK, _
System.Windows.Forms.MessageBoxIcon.Stop)
Case Else
' Battery is okay.
Exit Select
End Select
End Sub
Além das BatteryChargeStatus enumerações, a PowerStatus propriedade também contém enumerações para determinar a capacidade da bateria (BatteryFullLifetime) e o percentual de carga da bateria (BatteryLifePercent, BatteryLifeRemaining).
Você pode usar o método SetSuspendState do Application para colocar um computador no modo de hibernação ou suspensão. Se o force argumento estiver definido como false, o sistema operacional transmitirá um evento para todos os aplicativos que solicitam permissão para suspender. Se o disableWakeEvent argumento estiver definido como true, o sistema operacional desabilita todos os eventos de despertar.
O exemplo de código a seguir demonstra como colocar um computador em hibernação.
if (SystemInformation.PowerStatus.BatteryChargeStatus == System.Windows.Forms.BatteryChargeStatus.Critical)
{
Application.SetSuspendState(PowerState.Hibernate, false, false);
}
If SystemInformation.PowerStatus.BatteryChargeStatus = System.Windows.Forms.BatteryChargeStatus.Critical Then
Application.SetSuspendState(PowerState.Hibernate, False, False)
End If
Consulte também
.NET Desktop feedback