如何屏蔽掉ALT+F4键?请指教!急!急!!!!!(100分)

  • 主题发起人 主题发起人 smallrain
  • 开始时间 开始时间
S

smallrain

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现以下功能:
对于一个窗体,当用户按下ALT+F4键时,对该窗体不起作用(即不能关闭该窗体)
但对于其他窗体仍起作用。
请问各位高手应该如何实现,请指教,不胜感激!!!急!!!
 
问了好几百次的问题,实在实在懒得回答,哪位有兴趣灌水死亡给贴上,
我好把这个问题结束!
 
还是我自己来!

来自:wjiachun 时间:00-10-6 20:11:23 ID:358557
方法很多,但是都不好,不过你提问之前为何不先检索一下??

1.设置主form1 keypreview为true;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (shift = [ssAlt]) and (key = vk_F4) then
begin
shift := [];
key := 0;
end;
end;

2.不需要让用户按Alt+Enter、Ctrl+Alt+Del、Ctrl+Esc等功能键的时候加入以下代码:
Var
temp:integer;
begin
SystemParametersInfo(Spi_screensaverrunning,1,@temp,0);
end;
  当你要恢复功能键时用以下代码:
Var
Temp:integer;
begin
SystemParametersInfo(spi_screensaverrunning,0,@temp,0);
end;

3.在form的closequery事件里面令cnClose:=false;



 
多谢高手指教,小弟初学,请原谅。送上100分!!
 
后退
顶部