프로그래밍/델파이

창 닫기(Alt + F4) 막기

채윤아빠 2007. 12. 22. 00:25
728x90
반응형


폼에서 창 닫기를 강제로 막으려면, WM_SYSCOMMAND 메시지를 처리하면 됩니다.

다음과 같은 코드들을 추가합니다.


TForm1 = class(TForm)

private
  procedure WMSysCommand(var Msg:TMessage); message WM_SYSCOMMAND;

  // 생략

end;

implementation

// 생략

{** 창이 단축키로 닫히지 않도록 함 *}
procedure TForm1.WMSysCommand(var Msg: TMessage);
begin
  if (Msg.WParam=SC_CLOSE) then
    Msg.Result:=-1;
end;

위와 같이 코드를 추가해 주면, 시스템 메뉴의 닫기나, X버튼 및 Alt+4로 창을 닫을 수 없게 됩니다.