关键词: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上,需注意~
-------------------------------------------------------------------------------------------------