你可以直接在Form.OnCloseQuery中:
CanClose := false;
副作用:你再也关不掉这个窗口了:)

解决方案 »

  1.   

    procedure TFrm_main.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
        //屏蔽ALT+F4功能键
        CanClose:=FALSE;
    end;
      

  2.   

    简单!
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
    begin
    if (ssAlt in shift)and(key=115) then key:=0;
    end;
      

  3.   

    如果您想用Alt+F3来关闭程序
        proc   keydown(sender:Tobject; var key:word;shift:Tshiftstate);
          begin   
         if  (key=vk_f4) and  ([ssAlt]=Shift) then
             key=0    //屏蔽Alt+F4   因为过程中参数key为word类型 所以 不必使用"#"转换 若为char则相反
       if  *(key=vk_F3) and ([ssAlt]=Shift) then  //*处可以用(key=vk_f3) and (ssAlt in Shift) 但注意此时按Alt+Ctr+F3也可以关闭,使用时注意
            close 
         end;