首页 C#Windows系统服务管理源代码

C#Windows系统服务管理源代码

举报
开通vip

C#Windows系统服务管理源代码C#Windows系统服务管理源代码1.实现的界面2.要导入的命名空间usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingMicrosoft.Win32;usingSystem.IO;usingSystem.ServiceProcess;usingSystem...

C#Windows系统服务管理源代码
C#Windows系统服务管理源代码1.实现的界面2.要导入的命名空间usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingMicrosoft.Win32;usingSystem.IO;usingSystem.ServiceProcess;usingSystem.Diagnostics;3.刷新服务功能的实现privatevoid刷新ToolStripMenuItem_Click(objectsender,EventArgse){lstserver.Items.Clear();#region刷新服务watch=System.ServiceProcess.ServiceController.GetServices();foreach(ServiceControllertempinwatch){try{stringservepath="";ListViewItemlv=newListViewItem(temp.DisplayName.ToString());lv.SubItems.Add(temp.ServiceName.ToString());#region1.服务状态if(temp.Status.ToString()=="Stopped"){lv.SubItems.Add("已停止");}elseif(temp.Status.ToString()=="Running"){lv.SubItems.Add("正在运行");}else{lv.SubItems.Add("已暂停");}#endregion#region2.服务启动类型try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringregs=hklmrun2.GetValue("start").ToString();if(regs=="3"){lv.SubItems.Add("手动");}elseif(regs=="4"){lv.SubItems.Add("已禁用");}elseif(regs=="2"){lv.SubItems.Add("自动");}elseif(regs=="0"){lv.SubItems.Add("自动");}else{lv.SubItems.Add("未知");}}catch{}#endregion#region3.服务描述try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringregs=hklmrun2.GetValue("Description").ToString();lv.SubItems.Add(regs);}catch{lv.SubItems.Add("");}#endregion#region4.服务路径try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());servepath=hklmrun2.GetValue("ImagePath").ToString();lv.SubItems.Add(servepath);}catch{lv.SubItems.Add("");}#endregion#region5.服务厂商stringfileinfo="";try{FileVersionInfofinfo=FileVersionInfo.GetVersionInfo(@servepath);fileinfo=finfo.CompanyName;lv.SubItems.Add(fileinfo);}catch{lv.SubItems.Add("");}if(fileinfo!="MicrosoftCorporation"&&fileinfo!=""){lv.ForeColor=Color.Blue;}#endregionlstserver.Items.Add(lv);}catch{}}#endregionlblservecount.Text="当前服务:"+lstserver.Items.Count.ToString()+"项";}4.显示已启动服务功能的实现privatevoid显示已启动服务ToolStripMenuItem_Click(objectsender,EventArgse){lstserver.Items.Clear();#region刷新服务watch=System.ServiceProcess.ServiceController.GetServices();foreach(ServiceControllertempinwatch){#regionforeachtry{stringserverrunning="";serverrunning=temp.Status.ToString();if(serverrunning=="Running"){try{stringservepath="";ListViewItemlv=newListViewItem(temp.DisplayName.ToString());lv.SubItems.Add(temp.ServiceName.ToString());#region1.服务状态if(temp.Status.ToString()=="Stopped"){lv.SubItems.Add("已停止");}elseif(temp.Status.ToString()=="Running"){lv.SubItems.Add("正在运行");}else{lv.SubItems.Add("已暂停");}#endregion#region2.服务启动类型try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringregs=hklmrun2.GetValue("start").ToString();if(regs=="3"){lv.SubItems.Add("手动");}elseif(regs=="4"){lv.SubItems.Add("已禁用");}elseif(regs=="2"||regs=="0"){lv.SubItems.Add("自动");}else{lv.SubItems.Add("未知");}}catch{}#endregion#region3.服务描述try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringregs=hklmrun2.GetValue("Description").ToString();lv.SubItems.Add(regs);}catch{lv.SubItems.Add("");}#endregion#region4.服务路径try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());servepath=hklmrun2.GetValue("ImagePath").ToString();lv.SubItems.Add(servepath);}catch{lv.SubItems.Add("");}#endregion#region5.服务厂商stringfileinfo="";try{FileVersionInfofinfo=FileVersionInfo.GetVersionInfo(@servepath);fileinfo=finfo.CompanyName;lv.SubItems.Add(fileinfo);}catch{lv.SubItems.Add("");}if(fileinfo!="MicrosoftCorporation"&&fileinfo!=""){lv.ForeColor=Color.Blue;}#endregionlstserver.Items.Add(lv);}catch{}}}catch{}#endregion}#endregionlblservecount.Text="当前服务:"+lstserver.Items.Count.ToString()+"项";}5.显示未启动服务功能的实现privatevoid显示未启动服务ToolStripMenuItem_Click(objectsender,EventArgse){lstserver.Items.Clear();#region刷新服务watch=System.ServiceProcess.ServiceController.GetServices();foreach(ServiceControllertempinwatch){#regionforeachtry{stringserverrunning="";serverrunning=temp.Status.ToString();if(serverrunning!="Running"){try{stringservepath="";ListViewItemlv=newListViewItem(temp.DisplayName.ToString());lv.SubItems.Add(temp.ServiceName.ToString());#region1.服务状态if(temp.Status.ToString()=="Stopped"){lv.SubItems.Add("已停止");}elseif(temp.Status.ToString()=="Running"){lv.SubItems.Add("正在运行");}else{lv.SubItems.Add("已暂停");}#endregion#region2.服务启动类型try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringregs=hklmrun2.GetValue("start").ToString();if(regs=="3"){lv.SubItems.Add("手动");}elseif(regs=="4"){lv.SubItems.Add("已禁用");}elseif(regs=="2"||regs=="0"){lv.SubItems.Add("自动");}else{lv.SubItems.Add("未知");}}catch{}#endregion#region3.服务描述try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringregs=hklmrun2.GetValue("Description").ToString();lv.SubItems.Add(regs);}catch{lv.SubItems.Add("");}#endregion#region4.服务路径try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());servepath=hklmrun2.GetValue("ImagePath").ToString();lv.SubItems.Add(servepath);}catch{lv.SubItems.Add("");}#endregion#region5.服务厂商stringfileinfo="";try{FileVersionInfofinfo=FileVersionInfo.GetVersionInfo(@servepath);fileinfo=finfo.CompanyName;lv.SubItems.Add(fileinfo);}catch{lv.SubItems.Add("");}if(fileinfo!="MicrosoftCorporation"&&fileinfo!=""){lv.ForeColor=Color.Blue;}#endregionlstserver.Items.Add(lv);}catch{}}}catch{}#endregion}#endregionlblservecount.Text="当前服务:"+lstserver.Items.Count.ToString()+"项";}6.显示自动启动服务功能的实现privatevoid显示自动启动服务ToolStripMenuItem_Click(objectsender,EventArgse){lstserver.Items.Clear();#region刷新服务watch=System.ServiceProcess.ServiceController.GetServices();foreach(ServiceControllertempinwatch){#regionforeachtry{RegistryKeyhklmrun11=Registry.LocalMachine;RegistryKeyhklmrun21=hklmrun11.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringserverrunning=hklmrun21.GetValue("start").ToString();if(serverrunning=="2"||serverrunning=="0"){try{stringservepath="";ListViewItemlv=newListViewItem(temp.DisplayName.ToString());lv.SubItems.Add(temp.ServiceName.ToString());#region1.服务状态if(temp.Status.ToString()=="Stopped"){lv.SubItems.Add("已停止");}elseif(temp.Status.ToString()=="Running"){lv.SubItems.Add("正在运行");}else{lv.SubItems.Add("已暂停");}#endregion#region2.服务启动类型try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringregs=hklmrun2.GetValue("start").ToString();if(regs=="3"){lv.SubItems.Add("手动");}elseif(regs=="4"){lv.SubItems.Add("已禁用");}elseif(regs=="2"||regs=="0"){lv.SubItems.Add("自动");}else{lv.SubItems.Add("未知");}}catch{}#endregion#region3.服务描述try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringregs=hklmrun2.GetValue("Description").ToString();lv.SubItems.Add(regs);}catch{lv.SubItems.Add("");}#endregion#region4.服务路径try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());servepath=hklmrun2.GetValue("ImagePath").ToString();lv.SubItems.Add(servepath);}catch{lv.SubItems.Add("");}#endregion#region5.服务厂商stringfileinfo="";try{FileVersionInfofinfo=FileVersionInfo.GetVersionInfo(@servepath);fileinfo=finfo.CompanyName;lv.SubItems.Add(fileinfo);}catch{lv.SubItems.Add("");}if(fileinfo!="MicrosoftCorporation"&&fileinfo!=""){lv.ForeColor=Color.Blue;}#endregionlstserver.Items.Add(lv);}catch{}}}catch{}#endregion}#endregionlblservecount.Text="当前服务:"+lstserver.Items.Count.ToString()+"项";}7.显示已禁用服务功能的实现privatevoid显示已禁用服务ToolStripMenuItem_Click(objectsender,EventArgse){lstserver.Items.Clear();#region刷新服务watch=System.ServiceProcess.ServiceController.GetServices();foreach(ServiceControllertempinwatch){#regionforeachtry{RegistryKeyhklmrun11=Registry.LocalMachine;RegistryKeyhklmrun21=hklmrun11.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringserverrunning=hklmrun21.GetValue("start").ToString();if(serverrunning=="4"){try{stringservepath="";ListViewItemlv=newListViewItem(temp.DisplayName.ToString());lv.SubItems.Add(temp.ServiceName.ToString());#region1.服务状态if(temp.Status.ToString()=="Stopped"){lv.SubItems.Add("已停止");}elseif(temp.Status.ToString()=="Running"){lv.SubItems.Add("正在运行");}else{lv.SubItems.Add("已暂停");}#endregion#region2.服务启动类型try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringregs=hklmrun2.GetValue("start").ToString();if(regs=="3"){lv.SubItems.Add("手动");}elseif(regs=="4"){lv.SubItems.Add("已禁用");}elseif(regs=="2"||regs=="0"){lv.SubItems.Add("自动");}else{lv.SubItems.Add("未知");}}catch{}#endregion#region3.服务描述try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringregs=hklmrun2.GetValue("Description").ToString();lv.SubItems.Add(regs);}catch{lv.SubItems.Add("");}#endregion#region4.服务路径try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());servepath=hklmrun2.GetValue("ImagePath").ToString();lv.SubItems.Add(servepath);}catch{lv.SubItems.Add("");}#endregion#region5.服务厂商stringfileinfo="";try{FileVersionInfofinfo=FileVersionInfo.GetVersionInfo(@servepath);fileinfo=finfo.CompanyName;lv.SubItems.Add(fileinfo);}catch{lv.SubItems.Add("");}if(fileinfo!="MicrosoftCorporation"&&fileinfo!=""){lv.ForeColor=Color.Blue;}#endregionlstserver.Items.Add(lv);}catch{}}}catch{}#endregion}#endregionlblservecount.Text="当前服务:"+lstserver.Items.Count.ToString()+"项";}8.显示手动启动服务功能的实现privatevoid显示手动启动服务ToolStripMenuItem_Click(objectsender,EventArgse){lstserver.Items.Clear();#region刷新服务watch=System.ServiceProcess.ServiceController.GetServices();foreach(ServiceControllertempinwatch){#regionforeachtry{RegistryKeyhklmrun11=Registry.LocalMachine;RegistryKeyhklmrun21=hklmrun11.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringserverrunning=hklmrun21.GetValue("start").ToString();if(serverrunning=="3"){try{stringservepath="";ListViewItemlv=newListViewItem(temp.DisplayName.ToString());lv.SubItems.Add(temp.ServiceName.ToString());#region1.服务状态if(temp.Status.ToString()=="Stopped"){lv.SubItems.Add("已停止");}elseif(temp.Status.ToString()=="Running"){lv.SubItems.Add("正在运行");}else{lv.SubItems.Add("已暂停");}#endregion#region2.服务启动类型try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringregs=hklmrun2.GetValue("start").ToString();if(regs=="3"){lv.SubItems.Add("手动");}elseif(regs=="4"){lv.SubItems.Add("已禁用");}elseif(regs=="2"||regs=="0"){lv.SubItems.Add("自动");}else{lv.SubItems.Add("未知");}}catch{}#endregion#region3.服务描述try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());stringregs=hklmrun2.GetValue("Description").ToString();lv.SubItems.Add(regs);}catch{lv.SubItems.Add("");}#endregion#region4.服务路径try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+temp.ServiceName.ToString());servepath=hklmrun2.GetValue("ImagePath").ToString();lv.SubItems.Add(servepath);}catch{lv.SubItems.Add("");}#endregion#region5.服务厂商stringfileinfo="";try{FileVersionInfofinfo=FileVersionInfo.GetVersionInfo(@servepath);fileinfo=finfo.CompanyName;lv.SubItems.Add(fileinfo);}catch{lv.SubItems.Add("");}if(fileinfo!="MicrosoftCorporation"&&fileinfo!=""){lv.ForeColor=Color.Blue;}#endregionlstserver.Items.Add(lv);}catch{}}}catch{}#endregion}#endregionlblservecount.Text="当前服务:"+lstserver.Items.Count.ToString()+"项";}9.启动功能的实现privatevoid启动ToolStripMenuItem_Click(objectsender,EventArgse){try{foreach(ListViewItemlvinlstserver.SelectedItems){try{ServiceControllerservicename=newServiceController(lv.SubItems[1].Text.ToString());servicename.Start();lv.SubItems[2].Text="正在运行";}catch{}}}catch{}}10.停止功能的实现privatevoid停止ToolStripMenuItem_Click(objectsender,EventArgse){try{foreach(ListViewItemlvinlstserver.SelectedItems){try{ServiceControllerservicename=newServiceController(lv.SubItems[1].Text.ToString());servicename.Stop();lv.SubItems[2].Text="已停止";}catch{}}}catch{}}11.暂停功能的实现privatevoid暂停ToolStripMenuItem_Click(objectsender,EventArgse){try{foreach(ListViewItemlvinlstserver.SelectedItems){try{ServiceControllerservicename=newServiceController(lv.SubItems[1].Text.ToString());servicename.Pause();lv.SubItems[2].Text="已暂停";}catch{}}}catch{}}12.恢复功能的实现privatevoid恢复ToolStripMenuItem_Click(objectsender,EventArgse){try{foreach(ListViewItemlvinlstserver.SelectedItems){try{ServiceControllerservicename=newServiceController(lv.SubItems[1].Text.ToString());servicename.Continue();lv.SubItems[2].Text="正在运行";}catch{}}}catch{}}13.自动功能的实现privatevoid自动ToolStripMenuItem_Click(objectsender,EventArgse){try{foreach(ListViewItemlvinlstserver.SelectedItems){#regionforeachtry{try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+lv.SubItems[1].Text.ToString());hklmrun2.SetValue("start","2");lv.SubItems[3].Text="自动";}catch{}}catch{}#endregion}}catch{}}14.手动功能的实现privatevoid手动ToolStripMenuItem_Click(objectsender,EventArgse){try{foreach(ListViewItemlvinlstserver.SelectedItems){#regionforeachtry{try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+lv.SubItems[1].Text.ToString());hklmrun2.SetValue("start","3");lv.SubItems[3].Text="手动";}catch{}}catch{}#endregion}}catch{}}15.禁用功能的实现privatevoid禁用ToolStripMenuItem_Click(objectsender,EventArgse){try{foreach(ListViewItemlvinlstserver.SelectedItems){#regionforeachtry{try{RegistryKeyhklmrun1=Registry.LocalMachine;RegistryKeyhklmrun2=hklmrun1.CreateSubKey(@"system\currentcontrolset\services\"+lv.SubItems[1].Text.ToString());hklmrun2.SetValue("start","4");lv.SubItems[3].Text="禁用";}catch{}}catch{}#endregion}}catch{}}16.导出为.txt文件privatevoid导出为txt文件ToolStripMenuItem_Click(objectsender,EventArgse){StreamWritersw=File.CreateText("服务信息.txt");try{foreach(ListViewItemiteminlstserver.Items){sw.Write(item.SubItems[0].Text.ToString()+""+item.SubItems[1].Text.ToString()+""+item.SubItems[2].Text.ToString()+""+item.SubItems[3].Text.ToString()+""+item.SubItems[4].Text.ToString()+"");try{sw.WriteLine(item.SubItems[5].Text.ToString());}catch{}sw.WriteLine("");}sw.Close();Process.Start("服务信息.txt");}catch{}}爱优2011年9月28日
本文档为【C#Windows系统服务管理源代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
书山有路勤为径
在汽修行业深耕多年,拥有丰富的汽车修理经验及电路图,对汽车机修、冷电方面比较有经验。
格式:doc
大小:99KB
软件:Word
页数:0
分类:企业经营
上传时间:2020-05-08
浏览量:2