如何禁止ALT+F4来关闭程序?

reanna 2003-11-19 08:44:14
用一个API,SystemParametersInfo:ALT+F4的参数名是什么?
...全文
224 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Devlopered 2003-11-21
  • 打赏
  • 举报
回复
up
太空11 2003-11-20
  • 打赏
  • 举报
回复
用if (Key=VK_F4) and (ssAlt in shift) then Key :=0;
即可
#13是回车
谁知道#9是什么意思
pchaos 2003-11-20
  • 打赏
  • 举报
回复
对啊,只是需要屏蔽F4而已
prettysky 2003-11-20
  • 打赏
  • 举报
回复
哈哈 9494 让程序吃掉F4就行了
lzhlu 2003-11-20
  • 打赏
  • 举报
回复
var
CloseFlag: Boolean = Flase;

procedure TForm1.Button1Click(Sender: TObject);
begin
CloseFlag := True;
Close;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := CloseFlag;
end;
郝人(好人) 2003-11-20
  • 打赏
  • 举报
回复
太简单了:在 onclose 中 abort;
g58521547 2003-11-20
  • 打赏
  • 举报
回复
studying
liyangyao970 2003-11-20
  • 打赏
  • 举报
回复
哎,大家都讲掉了哦
我就来接楼主的分了,呵呵
hottey 2003-11-20
  • 打赏
  • 举报
回复
#9 好像是TAB键.
hottey 2003-11-19
  • 打赏
  • 举报
回复
楼上说的对,用
用if (Key=VK_F4) and (ssAlt in shift) then Key :=0;
即可
就达到了屏蔽ALT+F4按建.
cxreal 2003-11-19
  • 打赏
  • 举报
回复
用if (Key=VK_F4) and (ssAlt in shift) then Key :=0;
即可
cxreal 2003-11-19
  • 打赏
  • 举报
回复

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
SystemParametersInfo(Spi_screensaverrunning,1,0,0);
if (Key=VK_F4) and (ssAlt in shift) then
Key :=0;
end;
gossan 2003-11-19
  • 打赏
  • 举报
回复
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Application.MessageBox('真的要退出吗?', '提示', MB_YESNO+MB_ICONQUESTION) = ID_no then
CanClose:=false
else
CanClose:=true;
if CanClose then Application.terminate;
end;
saien 2003-11-19
  • 打赏
  • 举报
回复

需要捕捉WM_SYSCOMMAND消息,然后作出判断。

saien 2003-11-19
  • 打赏
  • 举报
回复
procedure WMSysCommand(var Msg: TMessage);

begin

if Msg.wParam <> SC_CLOSE then

inherited;

end;

 

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧