通过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></HTML>