Ver Mensaje Individual
  #2  
Antiguo 07-12-2014
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

"Application" está definida en la unidad "Vcl.Forms", que, no incluyes en tu programa. Por otro lado tampoco incluyes la unidad "Vcl.Messages", donde se define "WM_SYSCOMMAND". No obstante incluir "Vcl.Forms" y usar "Application.Handle" no parece surtir el efecto que deseas. A mí me funciona usando la función "GetForegroundWindow()" en su lugar, es decir:

Código Delphi [-]
program Project1;

{$APPTYPE CONSOLE}
{$R *.res}

uses
  Winapi.Windows,
  Winapi.Messages,
  System.SysUtils;

const
  MONITOR_ON = -1;
  MONITOR_OFF = 2;
  MONITOR_STANDBY = 1;

begin
  try
    SendMessage(GetForegroundWindow(), WM_SYSCOMMAND, SC_MONITORPOWER,
      MONITOR_OFF);
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

end
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita