通过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> 157
|