Desabilitar Proteção de Tela

Delphi

18/12/2004

Olá Pessoal


Estou desenvolvendo uma tela no meu sistema onde ficará aparecendo as ofertas que o cliente dispõe no dia quando o sistema ficar inoperante por algum tempo. Até aí blz. Consegui fazer. O problema é que a proteção de tela do windows aparece quando do seu tempo estipulado. Poderia simplesmente desabilitar o protetor do windows, porém há clientes meio cri-cri, que quando não estiverem usando o módulo de vendas querem que apareça o protetor de tela do windows. A pergunta é: como desabilitar o protetor de tela do windows mudando-o para o opção ´NENHUM´ e despois que o usuário sair da tela de vendas, fazer ele voltar para o protetor de telas que o cliente estava usando?

Acredito que acessando a API do windows deve ter jeito, mas não sei como fazê-lo. Se alguém puder me ajudar, já agradeço antecipdamente.

Reuber


Jubrovolski

Jubrovolski

Curtidas 0

Respostas

Nerdex

Nerdex

18/12/2004

Creio que existe o regisro responsável pela ativção/desativação deste...
Realize uma busca no site www.baboo.com.br , acho q a resposta tá lá..


GOSTEI 0
Fabio.hc

Fabio.hc

18/12/2004

Inclua na seção uses: Windows

{ Na seção ´private´ do Form principal acrescente: }

procedure AppMsg(var Msg: TMsg; var Handled: Boolean);

{ Na seção ´implementation´ acrescente (troque TForm1 para o nome do seu form principal): }

procedure TForm1.AppMsg(var Msg: TMsg; var Handled: Boolean);
begin
   if (Msg.Message = wm_SysCommand) and (Msg.wParam = sc_ScreenSave) then
      Handled := true;
end;


{ No evento ´OnCreate´ do form principal, coloque: }

Application.OnMessage := AppMsg;



GOSTEI 0
Bolus

Bolus

18/12/2004

Prezado Colega,
utilize a Seguinte Função para Desativar/Ativar o ScreenSaver.
procedure sysSaverRunning(Active: Boolean);
var
  aParam: Longint;
begin
  SystemParametersInfo (SPI_SCREENSAVERRUNNING, Word(Active),@aParam,0);
end;


Espero ter ajudado...


GOSTEI 0
POSTAR