這是我翻譯的第二篇文章,相對前一篇(Introducing ASP.NET 2.0 (ASP.NET 2.0 簡介) )而言自我感覺好了很多,但還有不足,在以後的翻譯中,還需改正.
C#.NET 的服務管理器作者:
Sateesh Kumar 2006-5-31譯者:
Sparon 2006-5-31這篇章将會交你如何建立Web應用程式來管理機器上的服務。
原文位址:http://www.c-sharpcorner.com/UploadFile/satisharveti/tocontrolservicesrunninginasystem05302006100035AM/tocontrolservicesrunninginasystem.aspx
大家知道有許多背景運作的程式是不為我們所知的,我們可以通過開始菜單中的運作services.msc來檢視這些服務.
我将說明如何建立一個Web應用程式來管理機器上的服務。這個程式允許我們檢視我們電腦上所有的服務,并且可以運作、停止或暫停服務。它還可以檢視所有服務的詳細資訊,比如路徑、狀态。這個程式可以在VS.NET 2003中建立。
首先建立一個C#web應用程式。命名為ServiceMgmt
頁面如下:

在這個頁面中有4個超級連結、1個dropdownlist和7個labels 。
如圖所示在解決方案管理器中添加System.Management關聯。
下一步:
将這些代碼添加到Page_Load事件中:
ManagementClass class1=new ManagementClass("Win32_Service");
foreach(ManagementObject ob in class1.GetInstances())
{
ListItem item1=new ListItem();
item1.Text =ob.GetPropertyValue("Name").ToString();
item1.Value =ob.GetPropertyValue("Caption").ToString();
DropDownList1.Items.Add(item1);
}
這段代碼将加載機器上的所有服務到ComboBox中。
繼續添加方法:
private void showstatus()
{
int i=0;
ManagementClass class1=new ManagementClass("Win32_Service");
foreach(ManagementObject ob in class1.GetInstances())
{
if(ob.GetPropertyValue("State").ToString()=="Running")
{
i++;
}
if(ob.GetPropertyValue("Name").ToString()==DropDownList1.SelectedItem.Text.ToString())
{
Label2.Text ="Description : " +ob.GetPropertyValue("Description");
Label3.Text ="PathName : "+ob.GetPropertyValue("PathName");
Label4.Text ="ServiceType : " +ob.GetPropertyValue("ServiceType");
Label5.Text ="StartMode : "+ ob.GetPropertyValue("StartMode");
Label6.Text ="State : "+ob.GetPropertyValue("State");
}
}
Label7.Text =string.Empty;
Label7.Text ="Total Number of Services Running : " +i;
}
這段代碼實作将你選擇的服務的詳細資訊顯示出來。
繼續添加方法:
private void servicemgmt(string status)
{
ManagementPath path=new ManagementPath();
path.Server=System.Environment.MachineName;
[email protected]"root\CIMV2";
path.RelativePath="Win32_service.Name='"+DropDownList1.SelectedItem.Text.ToString()+"'";
ManagementObject service=new ManagementObject(path);
ManagementBaseObject temp= service.InvokeMethod(status,null,null);
}
這段代碼實作運作、停止或暫停、繼續服務。
拷貝這段代碼到Start LinkButton_Click事件:
servicemgmt("StartService");
showstatus();
拷貝這段代碼到Stop LinkButton_Click事件:
servicemgmt("StopService");
showstatus();
拷貝這段代碼到Pause LinkButton_Click事件:
servicemgmt("PauseService");
showstatus();
拷貝這段代碼到Continue LinkButton_Click事件:
servicemgmt("ResumeService");
showstatus();
到此為止,我們就可以通過IE控制我們機器上的服務了。
我希望這段代碼對大家有幫助. 最後的結果會是這樣的:
全文代碼下載下傳:ServiceMgmt.rar
附:wmiopennotepad.rar
轉載于:https://www.cnblogs.com/sparon/archive/2006/06/01/414676.html