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
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
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
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
Fico por aqui e até a próxima.
Um abraço
Wesley Y
www.lithic.com.br
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;
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;
Listagem 3: Implementação do onCreate
procedure TForm1.FormCreate(Sender: TObject); begin Application.OnMessage := AppMessage; end;
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

[Este post ainda não foi associado a uma sequência]
Você está em:
canal Delphi
Wesley Yamazack
Space do autor
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



0
0
