ASP.NET中编程杀死进程

原文链接: http://www.cnblogs.com/coldwine/archive/2005/08/01/204347.html
通过ASP.NET可以对一些无用的进程进行远程杀死,下面的代码先列出正在活动的所有进程,然后进行杀死。需要注意的是:这个文件要放在具有Administrator访问权限的虚拟目录下。

  以下是C#代码:

None.gif
None.gif
None.gif
<% @ Page Language = " c# "   %>
None.gif
< HTML >
None.gif
< HEAD >
None.gif
<%  @ Import  namespace =   " System.Diagnostics "   %>
None.gif
< script language = " C# "  runat = " Server "  debug = " true " >
ExpandedBlockStart.gifContractedBlock.gif
void  Page_Load(Object Sender, EventArgs e) dot.gif {
InBlock.gifbtnKill.Attributes.Add(
"onclick""javascript: return confirm('你真的要杀死这个进程吗?');");
ExpandedBlockEnd.gif}

None.gif
ExpandedBlockStart.gifContractedBlock.gif
private   void  KillProcess( string  processName) dot.gif {
InBlock.gifSystem.Diagnostics.Process myproc
= new System.Diagnostics.Process();
InBlock.gif
//得到所有打开的进程
ExpandedSubBlockStart.gifContractedSubBlock.gif
trydot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif
foreach (Process thisproc in Process.GetProcessesByName(processName)) dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif
if(!thisproc.CloseMainWindow())dot.gif{
InBlock.gifthisproc.Kill();
ExpandedSubBlockEnd.gif}

ExpandedSubBlockEnd.gif}

ExpandedSubBlockEnd.gif}

InBlock.gif
catch(Exception Exc)
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gifmsg.Text
+= "杀死" +procname.SelectedItem.Text + "失败!";
ExpandedSubBlockEnd.gif}

ExpandedBlockEnd.gif}

None.gif
public   void  btnKill_Click( object  sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gifKillProcess(procname.SelectedItem.Text);
InBlock.gifmsg.Text
= procname.SelectedItem.Text +" 已经被杀死。";
ExpandedBlockEnd.gif}

None.gif
None.gif
ExpandedBlockStart.gifContractedBlock.gif
public   void  btnShow_Click( object  sender, System.EventArgs e) dot.gif {
InBlock.gifArrayList procList 
=new ArrayList();
InBlock.gif
string tempName="";
InBlock.gif
int begpos;
InBlock.gif
int endpos;
ExpandedSubBlockStart.gifContractedSubBlock.gif
foreach (Process thisProc in System.Diagnostics.Process.GetProcesses()) dot.gif{
InBlock.giftempName
=thisProc.ToString();
InBlock.gifbegpos 
= tempName.IndexOf("(")+1;
InBlock.gifendpos
= tempName.IndexOf(")");
InBlock.giftempName
=tempName.Substring(begpos,endpos-begpos);
InBlock.gifprocList.Add(tempName);
ExpandedSubBlockEnd.gif}

InBlock.gifprocname.DataSource
=procList;
InBlock.gifprocname.DataBind();
ExpandedBlockEnd.gif}

None.gif
</ script >
None.gif
</ HEAD >
None.gif
< body >
None.gif
< Basefont Face = " Tahoma "   />
None.gif
< center >< h2 > ASP.NET 进程杀死器! </ h2 >< BR >
None.gif
< Table cellspacing = 2  cellpadding = 2  border = 0  BGCOLOR = " #fFCC66 " >
None.gif
< form id = " frmProc "  runat = " Server "  method = " post " >
None.gif
< TR >< TD >< ASP:DropDownList id = " procname "  runat = " server "   /></ TD >< TD >
None.gif进程名字
</ TD ></ TR >
None.gif
< TR >< TD >
None.gif
< asp:button id = " btnKill "  Text = " 杀死进程 "  runat = " server "  CausesValidation = " False "  onclick = " btnKill_Click "   />
None.gif
</ TD >
None.gif
< TD >< asp:button id = " btnShow "  Text = " 列出所有进程 "  runat = " server "  CausesValidation = " False "  onclick = " btnShow_Click "   />
None.gif
</ TD ></ TR >
None.gif
</ TABLE >
None.gif
< center >< asp:Label id = " msg "  runat = " server " /></ center >
None.gif
</ form >
None.gif
</ center >
None.gif
</ body >
None.gif
</ HTML >
None.gif
None.gif

转载于:https://www.cnblogs.com/coldwine/archive/2005/08/01/204347.html

猜你喜欢

转载自blog.csdn.net/weixin_30268921/article/details/95155556