c#系统维护(禁止)

c#系统维护(禁止)

 

  private int  iClose=0;
  private const int WM_QUERYENDSESSION=0x0011;
  protected override void WndProc(ref Message SystemMessage)
  {//处理系统消息问询
   switch(SystemMessage.Msg)
   {
    case WM_QUERYENDSESSION:
     SystemMessage.Result=(IntPtr)iClose;
     break;
    default:
     base.WndProc(ref SystemMessage);
     break;
   }
  }
  private void button1_Click(object sender, System.EventArgs e)
  {//禁止关闭操作系统
   this.iClose=0;  
   MessageBox.Show("请选择“开始\\关闭计算机”菜单测试一下效果!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
  }

  private void button2_Click(object sender, System.EventArgs e)
  {//允许关闭操作系统
   this.iClose=1;
   MessageBox.Show("请选择“开始\\关闭计算机”菜单测试一下效果!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
  }

 

================

 

  private int  iClose=0;
  private const int WM_SYSCOMMAND=0x0112;
  protected override void WndProc(ref Message SystemMessage)
  {//处理系统消息
   switch(SystemMessage.Msg)
   {
    case WM_SYSCOMMAND:
     if(iClose==0)
      base.WndProc(ref SystemMessage);
     break;
    default:
     base.WndProc(ref SystemMessage);
     break;
   }
  }
  private void button1_Click(object sender, System.EventArgs e)
  {//禁止系统菜单按钮命令   
   this.iClose=1;  
   MessageBox.Show("已经禁止系统菜单按钮命令!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
  }

  private void button2_Click(object sender, System.EventArgs e)
  {//允许系统菜单按钮命令
   this.iClose=0;
   MessageBox.Show("已经允许系统菜单按钮命令!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
  }

 

posted @ 2010-01-05 10:58  星释天狼  阅读(246)  评论(0)    收藏  举报