DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Como Bloquear ALT F4

Veja nesta Quick Tip como podemos bloquear a combinação de teclas ALT + F4.

Olá galera, vamos a esta Quick Tip que tem como objetivo mostrar uma maneira de impedir o fechamando do nosso projeto com o uso do ALT + F4.
Para isso vamos precisar declarar uma procedure na seção private da classe do nosso formulário. Listagem 1: Declaração da procedure
type
  TForm1 = class(TForm)
  private
    { Private declarations }
    procedure AppMessage(var Msg: TMSG; var HAndled: Boolean);
  public
    { Public declarations }
  end; 
Neste momento vamos implementar a mesma usando o CTRL + SHIF + C, em cima da declaração da procedure AppMessage.
Listagem 2: Implementação da procedure AppMessage
procedure TForm1.AppMessage(var Msg: TMSG; var HAndled: Boolean);
begin
  Handled := False;
  case Msg.Message of
    WM_SYSKEYDOWN:
      if Msg.wParam = VK_F4 then
        Handled := True; // Bloqueia o ALT+F4
  end;
end;
Por final vamos ver como usar a nossa procedure, para isso vamos implementar o evento onCreate do Formulário, onde vamos fazer um Method Pointer apontando o onCreate para o AppMessage, para isso veja o seguinte código.
Listagem 3: Implementação do onCreate
procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMessage := AppMessage;
end;
Quando você executar o seu projeto, tente fechar o mesmo usando ALT+F4, veja que nada irá acontecer. Você pode melhorar o código dando uma mensagem para o usuário da seguinte maneira. Listagem 4: Incrementando a procedure AppMessage
procedure TForm1.AppMessage(var Msg: TMSG; var HAndled: Boolean);
begin
  Handled := False;
  case Msg.Message of
    WM_SYSKEYDOWN:
      if Msg.wParam = VK_F4 then
      begin
        Handled := True; // Bloqueia o ALT+F4
        ShowMessage('Tecla ALT+F4 foi bloqueada pelo administrador.');
      end;
  end;
end;


Fico por aqui e até a próxima.

Um abraço
Wesley Y
www.lithic.com.br




    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



[Este post ainda não foi associado a uma sequência]
Publicidade
Autor
Wesley Yamazack

Graduado em Analise de Sistemas, no ramo de desenvolvimento há mais de 6 anos, onde atuou em empresas de diversos seguimentos como financeiro, comercial, estacionamento, etc. Atualmente analista desenvolvedor terceirizado da Marinha do Brasil, além de desenvolver projetos através da minha empresa Li...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03