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
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados