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