Ver Mensaje Individual
  #3  
Antiguo 13-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

También se puede usar la función Win Api GetSystemPowerStatus
Ejemplo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  PowerState: TSystemPowerStatus;
begin
  GetSystemPowerStatus(PowerState);
  if PowerState.ACLineStatus = 1 then
   ShowMessage('Conectada a la red eléctrica')
  else
   ShowMessage('No conectada a la red eléctrica');
end;

Y si querés detectar el cambio de estado (conectada/desconectada) podés capturar el mensaje WM_POWERBROADCAST.
Ejemplo:
Código Delphi [-]
...
type
  TForm1 = class(TForm)
   ...
  private
    procedure WMPowerBroadCast(var Msg: TMessage); message WM_POWERBROADCAST;
  public
  end;
...
Interface
...
procedure TForm1.WMPowerBroadCast(var Msg: TMessage);
var
  PowerState: TSystemPowerStatus;
begin
  if Msg.WParam =  $0A then
  begin
    GetSystemPowerStatus(PowerState);
    if PowerState.ACLineStatus = 1 then
      ShowMessage('Se ha conectado a la red eléctrica')
    else
      ShowMessage('Se desconectó de la red eléctrica');
  end;
end;

Saludos.

Última edición por ecfisa fecha: 13-12-2010 a las 11:52:23.
Responder Con Cita