日期:2009-05-19 浏览次数:20566 次
                通过ASP.NET可以对一些无用的进程进行远程杀死,下面的代码先列出正在活动的所有进程,然后进行杀死。需要注意的是:这个文件要放在具有Administrator访问权限的虚拟目录下。 
以下是C#代码:
<%@ Page Language="c#" %>
              <HTML>
              <HEAD>
              <% @ Import namespace= "System.Diagnostics" %>
              <script language="C#" runat="Server" debug="true">
                void Page_Load(Object Sender, EventArgs e){
                btnKill.Attributes.Add("onclick", "javascript: return confirm('你真的要杀死这个进程吗?');");
                }
private void KillProcess(string processName){
                System.Diagnostics.Process myproc= new System.Diagnostics.Process();
                //得到所有打开的进程
                try{
                foreach (Process thisproc in Process.GetProcessesByName(processName)) {
                if(!thisproc.CloseMainWindow()){
                thisproc.Kill();
                }
                }
                }
                catch(Exception Exc)
                {
                msg.Text+= "杀死" +procname.SelectedItem.Text + "失败!";
                }
                }
                public void btnKill_Click(object sender, System.EventArgs e)
                {
                KillProcess(procname.SelectedItem.Text);
                msg.Text= procname.SelectedItem.Text +" 已经被杀死。";
                }
              
public void btnShow_Click(object sender, System.EventArgs e){
                ArrayList procList =new ArrayList();
                string tempName="";
                int begpos;
                int endpos;
                foreach (Process thisProc in System.Diagnostics.Process.GetProcesses()) {
                tempName=thisProc.ToString();
                begpos = tempName.IndexOf("(")+1;
                endpos= tempName.IndexOf(")");
                tempName=tempName.Substring(begpos,endpos-begpos);
                procList.Add(tempName);
                }
                procname.DataSource=procList;
                procname.DataBind();
                }
              </script>
              </HEAD>
              <body>
              <Basefont Face="Tahoma" />
              <center><h2>ASP.NET 进程杀死器!</h2><BR>
              <Table cellspacing=2 cellpadding=2 border=0 BGCOLOR="#fFCC66">
              <form id="frmProc" runat="Server" method="post">
              <TR><TD><ASP:DropDownList id="procname" runat="server" /></TD><TD>
                进程名字</TD></TR>
              <TR><TD>
              <asp:button id="btnKill" Text="杀死进程" runat="server" CausesValidation="False" onclick="btnKill_Click" />
              </TD>
              <TD><asp:button id="btnShow" Text="列出所有进程" runat="server" CausesValidation="False" onclick="btnShow_Click" />
              </TD></TR>
              </TABLE>
              <center><asp:Label id="msg" runat="server"/></center>
              </form>
              </center>
              </body>