|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
来吧!老师们!我代表千千万万的asp.net/C#的初学者在这里呼唤着!历程.net对历程办理的封装十分好,经由过程System.Diagnostics.Process.GetProcesses()办法能够取得体系内各历程的数组,经由过程列举可取得体系内的一切历程(比Windows自带的历程扫瞄器看到的还多)。ProcessName属性取得的是文件名的前缀,即NotePad,不包括前面的.exe。
要取得更多的信息,必要获得Modules属性数组,但并非每一个历程都能猎取Modules属性,以是必需要利用try..catch语句扫除非常。该数组的第一个成员[0].FileName包括了实行程序的完全文件名,同等于ProcessModule;序号年夜于0的成员常常包括该程序挪用的dll信息,失掉的了局很有点像反木马程序。
Kill()办法用来杀历程,被杀的程序不会弹出相似保留文件的对话框,是个实足的冷血的快刀手。
StartInfo属性是用于启动新历程的,不合用于检索已运转的历程。
privatevoidbtnProcess_Click(objectsender,System.EventArgse)
{
System.Diagnostics.Process[]myPs;
myPs=System.Diagnostics.Process.GetProcesses();
this.richTextBox1.Clear();
foreach(System.Diagnostics.ProcesspinmyPs)
{
if(p.Id!=0)
{
stringmyS="历程称号"+p.ProcessName+"ID:"+p.Id.ToString();
try//因为历程分歧,有的历程不包括Modules信息,以是要用try回护
{
if(p.Modules!=null)
if(p.Modules.Count>0)
{
System.Diagnostics.ProcessModulepm=p.Modules[0];
myS+="
Modules[0].FileName:"+pm.FileName;
myS+="
Modules[0].ModuleName:"+pm.ModuleName;
myS+="
Modules[0].FileVersionInfo:
"+pm.FileVersionInfo.ToString();
if(pm.FileName.ToLower()==this.textBox1.Text.Trim().ToLower())
p.Kill();
}
}
catch
{}
finally
{
this.richTextBox1.Text+=myS+"
==========================
";
}
}
}
程序的实行了局片断:
历程称号SearchNetID:3092
Modules[0].FileName:C:ProgramFilesSearchNetSearchNet.exe
Modules[0].ModuleName:SearchNet.exe
Modules[0].FileVersionInfo:
File:C:ProgramFilesSearchNetSearchNet.exe
InternalName:SearchNet
OriginalFilename:
FileVersion:1,0,2,4
FileDescription:IE地点栏搜刮程序
Product:地点栏搜刮
ProductVersion:1,0,2,4
Debug:False
Patched:False
PreRelease:False
PrivateBuild:False
SpecialBuild:False
Language中文(中国)
==========================
历程称号svchostID:1700
Modules[0].FileName:C:WINDOWSsystem32svchost.exe
Modules[0].ModuleName:svchost.exe
Modules[0].FileVersionInfo:
File:C:WINDOWSsystem32svchost.exe
InternalName:svchost.exe
OriginalFilename:svchost.exe
FileVersion:5.1.2600.2180(xpsp_sp2_rtm.040803-2158)
FileDescription:GenericHostProcessforWin32Services
Product:Microsoft |
|