您的位置:首页 > 编程语言 > VB

[C#.NET][VB.NET] Process 類別 / 如何 列舉執行中的程式

2011-01-27 12:37 591 查看
記得曾經用過WMI來列舉執行中的程式[VB6]利用WMI列舉目前正在執行中的程式,而.NETFramework提供的System.Diagnostics命名空間的Process類別中的GetProcess方法,也能達到相同的功能。

Process類別:提供對本機和遠端處理序(Process)的存取,並讓您能夠啟動和停止本機系統處理序。

1.使用GetProcesses方法會傳回Process陣列

2.使用GetProcessById取得系統上維一的ID並操作

3.Kill方法會不顧一切的終止程式,已被我註解有興趣的可以解開玩看看,要終止(Terminate)時請小心以免系統掛掉。





如何列舉執行中的應用程式

//1.引用Process類別中的GetProcesses方法,取得執行中的程式

foreach(ProcesspinProcess.GetProcesses())

{

//引用ListViewItem類別

ListViewItemitem=newListViewItem();


//取得Process內的屬性後,加入至ListViewItem類別

item.Text=p.ProcessName;

item.SubItems.Add(p.Id.ToString());

item.SubItems.Add((p.PrivateMemorySize64/1024)+"Kbyte");

item.SubItems.Add((p.VirtualMemorySize/1024)+"Kbyte");

//加入控制項

ListView1.Items.Add(item);

}


如何取得應用程式ID,並終止

Processproc=Process.GetProcessById(Convert.ToInt32(ListView1.SelectedItems[0].SubItems[1].Text));

try

{


////判斷執程式是否已中止

if(!proc.HasExited)

{

//關閉應用程式

proc.CloseMainWindow();

//等待關閉

proc.WaitForExit();

//釋放資源

proc.Close();

}

else

MessageBox.Show("已結束");

}

catch

{

MessageBox.Show("無法結束!!");

}


如何呼叫外部執行檔

//ProcessStartInfoinfo=newProcessStartInfo(@"C:/windows/system32/notepad.exe");

//Process.Start(info);

//呼叫外部程式

Process.Start(@"C:/windows/system32/notepad.exe");

//重繪

button1.PerformClick();


如何列出包含的模組

if(p.Length>0)listBox1.Items.Clear();

{

try

{

//列出應用程式包含的模組

foreach(ProcessModuleminp[0].Modules)

{

listBox1.Items.Add("ModuleName:"+m.ModuleName+"/t"+","+"FileName:"+m.FileName);

//listBox1.Items.Add(m.FileVersionInfo);

}

}

catch

{

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: