要求在不退出程序前不能关闭系统,怎样实现?
以下这个办法似乎在XP,2K下不行,有没有其它方法?
http://blog.csdn.net/CoolDesigner/services/trackbacks/14990.aspx

解决方案 »

  1.   

    //声明拦截WM_QueryEndSession消息的过程   
     procedure WMQueryEndSession(var Msg: TMessage); message WM_QueryEndSession; procedure TForm1.WMQueryEndSession(var Msg: TMessage);
     begin
      if CheckBox1.Checked then Msg.Result := 1
      else Msg.Result := 0;
    end;
      

  2.   

    俺停电,看你关不关机..........1、拦截系统热键。
    2、xp、2000不能拦截ctrl+alt+del;据说可以用替换dll的方法,当然如果你很牛的话,也可以自己写个dll。
    3、ctrl+alt+del在xp、2000下的替代办法,屏蔽"锁定计算机"、"关机"、"更改密码"等按钮,俺是更改注册表来实现。
      

  3.   

    拦截WM_QueryEndSession,一楼正解~
      

  4.   

    俺有办法:
    1、屏蔽所有外设
    2、给主机加ups(要大的),并加进保险箱,上锁。