delphi禁止某窗口被关闭的方法

时间:2022-01-26 23:46:51

关键词:Delphi,禁止窗口关闭,Alt+F4

delphi禁止某窗口被关闭的方法

逆流而上的鱼 发表于 2006-9-19 10:51:00

步骤1、最基本的,关闭该窗口右上角的“×”键

方法:form1的BorderIcons属性,bisystemmenu设为false

步骤2:任务栏右键屏蔽“关闭”选项

方法:var SysMenu: HMenu;

SysMenu :=GetSystemMenu(Application.Handle, False);
DeleteMenu(SysMenu, SC_CLOSE, MF_BYCOMMAND);

 

//(*本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/ *)

步骤3:取消“alt+f4”热键

方法:FormKeyDown事件:

if (Key=VK_F4) and (ssAlt in shift) then
begin
Key :=0;
end;
//此处有问题,需要焦点在Form上才行

 

步骤4:禁止呼出任务管理器

方法:uses Registry;
procedure DisableTaskmgr(Key: Boolean);
Var Reg:TReGIStry;
Begin
Reg:=TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\System', True) then
begin
if Key then
Reg.WriteString('DisableTaskMgr','1')
else
//(*本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/ *)
Reg.WriteInteger('DisableTaskMgr',0);
Reg.CloseKey;
end;
except
Reg.Free;
end;
end;

古桃小注:禁止呼出任务管理器测了好几次,这个不太”灵验“,只成功了一次。对于
“alt+f4”那个需要焦点在Form上,需注意~

 

-------------------------------------------------------------------------------------------------

 

delphi禁止某窗口被关闭的方法