• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 时代互联
  • 中国红网
  • 中资源!
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 编程开发 >> C#/CSHARP >> 文章内容
 

精彩推荐

 
 

本类推荐文章

 
 

本类阅读排行

  • c# arraylist functions
  • C#中的抽象类
  • C#導出Excel源碼
  • C#语言初级入门(1)
  • C++与C#混合生成.NET程序
  • 浅析C#的事件处理和自定义事..
  • C#的前途如何?
  • 利用C#远程存取Access数据库
  • Visual C#2005中使用正则表达..
  • c#学习笔记(1)
  • C# 操作文件
  • C#结合串口通信类实现串口通..
  • C#对文件的操作
  • Excel 2007单元格及内容的合..
  • C# 2.0与泛型
  • C#编写的windows计算器-源代..
  • C#中使用TextBox控件的两个问..
  • C#开发和使用中的23个技巧
  • 自定义应用程序配置文件(ap..
  • C#语言初级入门(3)
 
 

利用网页强制重启服务器(C#)

  • 日期:2008-06-08     人气:     出处:     作者:
  • 字体大小:
  • 小
  • 中
  • 大

点击Button1,强制重启

C#重启服务器代码
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Runtime.InteropServices;
namespace WebApplication1_advapi
{
    /**//// <summary>
    /// WebForm1 的摘要说明。
    /// </summary>
    public class WebForm1 : System.Web.UI.Page
    {
        protected const int SE_PRIVILEGE_ENABLED = 0x2;
        protected const int TOKEN_QUERY = 0x8;
        protected const int TOKEN_ADJUST_PRIVILEGES = 0x20;
        protected const string SE_SHUTDOWN_NAME = "SeShutdownPrivilege";
        protected const int EWX_LOGOFF = 0x0;
        protected const int EWX_SHUTDOWN = 0x1;
        protected const int EWX_REBOOT = 0x2;
        protected const int EWX_FORCE = 0x4;
        protected const int EWX_POWEROFF = 0x8;
        protected System.Web.UI.WebControls.Button Button1;
        protected const int EWX_FORCEIFHUNG = 0x10;


        [StructLayout(LayoutKind.Sequential, Pack=1)]
            protected struct LuidStruct
        {
            public int Count;
            public long Luid;
            public int Attr;
        }

        [DllImport("kernel32.dll", ExactSpelling=true)]
        protected static extern IntPtr GetCurrentProcess();

        [DllImport("advapi32.dll", SetLastError=true)]
        protected static extern bool OpenProcessToken(IntPtr h, int acc, ref IntPtr phtok);

        [DllImport("advapi32.dll", SetLastError=true)]
        protected static extern bool LookupPrivilegeValue(string host, string name, ref long pluid);

        [DllImport("advapi32.dll", SetLastError=true, ExactSpelling=true)]
        protected static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall, ref LuidStruct newst, int len, IntPtr prev, IntPtr relen);

        [DllImport("user32.dll", SetLastError=true, ExactSpelling=true)]
        protected static extern bool ExitWindowsEx(int flg, int rea);

        protected static void DoExitWindows(int flg)
        {
            LuidStruct tp;
            IntPtr hproc = GetCurrentProcess();
            IntPtr htok = IntPtr.Zero;

            OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok);
            tp.Count = 1;
            tp.Luid = 0;
            tp.Attr = SE_PRIVILEGE_ENABLED;
            LookupPrivilegeValue(null, SE_SHUTDOWN_NAME, ref tp.Luid);
            AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero);
            ExitWindowsEx(flg, 0);
        }

        public static void Shutdown()
        {
            DoExitWindows(EWX_SHUTDOWN);
        }

        public static void Reboot()
        {
            DoExitWindows(EWX_REBOOT | EWX_FORCE);
        }

        public static void Logoff()
        {
            DoExitWindows(EWX_LOGOFF);
        }

        [DllImport("advapi32.dll", SetLastError=true, ExactSpelling=false)]
        protected static extern bool InitiateSystemShutdown(string name, string msg, int timeout, bool force, bool reboot);


        private void Page_Load(object sender, System.EventArgs e)
        {
            // 在此处放置用户代码以初始化页面

        }

        Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
            //
            InitializeComponent();
            base.OnInit(e);
        }
       
        /**//// <summary>
        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
        /// 此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {   
            this.Button1.Click += new System.EventHandler(this.Button1_Click);
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion

        private void Button1_Click(object sender, System.EventArgs e)
        {
               InitiateSystemShutdown(null,null,0,true,true);
        }
    }
}

相关文章
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号  

感谢:点击网络 联网科技 天盈信息  提供服务器及带宽赞助