News & Events
Função: Como bloquear ou liberar a Proteção de Tela?
- 6 de outubro de 2007
- Posted by: Adriano Santos
- Category: delphi delphi2006 delphi2007 dicas
Nenhum comentário
Difficulty level not set for this Post
Olá pessoal,
Para bloquear ou liberar a proteção de tela do Windows é necessário fazer “ouvir” a mensagem que o Windows envia para executar a proteção. Essa mensagem pode ser ouvida pelas constantes WM_SYSCOMMAND e SC_SCREENSAVE. Nós interceptamos as mensagens e desativamos a proteção de tela no evento OnMessage do objeto Application. Veja abaixo a unit completa d eum pequeno exemplo.
Faça download do exemplo na seção Downloads.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
procedure AppMsg(var Msg: TMsg; var Handled: Boolean);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.AppMsg(var Msg: TMsg; var Handled: Boolean);
begin
if (Msg.Message = wm_SysCommand) and (Msg.wParam = sc_ScreenSave) then
Handled := true;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Application.OnMessage := AppMsg;
ShowMessage('Proteção de tela BLOQUEADA');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Application.OnMessage := nil;
ShowMessage('Proteção de tela LIBERADA');
end;
end.
Dica retirada do arquivo DtDelphi28.chm
Parabéns, sua inscrição no Feed RSS foi aceita. Leia em primeira mão todas as notícias do blog.
Siga @tdevrocks no Twitter agora e fique por dentro de todas as atualizações do blog.
Siga também o autor @asrsantos

Author: Adriano Santos
Adriano Santos é especialista em linguagens de desenvolvimento, Embarcadero MVP, possui +1000 artigos e vídeo-aulas publicadas em revistas e websites especializados, ex-editor chefe das revistas ClubeDelphi e WebMobile. Atualmente Diretor de Operações na startup GET IT! Technology e Consultor Senior na Embarcadero do Brasil.