c#操作进程、服务、注册表(源码测试通过)
来源:互联网 发布:修改积分软件. 编辑:程序博客网 时间:2024/05/21 17:31
1、操作进程:
private bool CloseProcess(string CloseProcessName) { try { //根据进程名称,获取该进程信息 Process[] MyProcessS = Process.GetProcessesByName(CloseProcessName); foreach (Process MyProcess in MyProcessS) { MyProcess.Kill(); MyProcess.WaitForExit(); MyProcess.Close(); Thread.Sleep(10000); } } catch (Exception) { return false; } return true; } /// <summary> /// 创建进程 /// </summary> public bool StartProcess(string StartProPath) { try { Process TheStartProcess = Process.Start(StartProPath); } catch (Exception) { return false; } return true; }
2、操作服务:
private bool StopService(string StopServiceName) { ServiceController service = new ServiceController(StopServiceName); try { service.Stop(); service.WaitForStatus(ServiceControllerStatus.Stopped); } catch(Exception) { return false; } return true; } /// <summary> /// 开启服务 /// </summary> private bool StartService(string StartServiceName) { ServiceController service = new ServiceController(StartServiceName); try { service.Start(); service.WaitForStatus(ServiceControllerStatus.Running); } catch (Exception) { return false; } return true; }
2.1补充操作服务代码改进:
/// <summary> /// 停止服务 /// </summary> private bool StopService(string StopServiceName) { ServiceController service = new ServiceController(StopServiceName); try { if (service.Status == ServiceControllerStatus.Running) { service.Stop(); service.WaitForStatus(ServiceControllerStatus.Stopped); if (service.Status == ServiceControllerStatus.Stopped) { return true; } else { //记录错误log return false; } } else { return true; } } catch(Exception) { return false; } } /// <summary> /// 开启服务 /// </summary> private bool StartService(string StartServiceName) { ServiceController service = new ServiceController(StartServiceName); try { if (service.Status == ServiceControllerStatus.Stopped) { service.Start(); service.WaitForStatus(ServiceControllerStatus.Running); if (service.Status == ServiceControllerStatus.Running) { return true; } else { //记录log return false; } } else { service.Refresh(); return true; } } catch (Exception) { return false; } }
3、操作注册表:
///获得注册表的值
private string GetRegistShellData(string RegistName) { try { string registData, SubregistData; RegistryKey hkml = Registry.LocalMachine; RegistryKey software = hkml.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", true); registData = software.GetValue(RegistName).ToString(); SubregistData = registData.Substring(0, 2); return SubregistData; } catch (Exception excp) { MessageBox.Show("GetRegistShellData错误" + excp.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning); } return ""; } /// <summary>
/// </summary> ///更改注册表的值
private void RenameRegistData() { try { string registData1; RegistryKey hkml = Registry.LocalMachine; RegistryKey software2 = hkml.OpenSubKey(@"SOFTWARE\"+ SaiWeb + @"\SysToolSign", true); registData1 = software2.GetValue("Sign").ToString(); software2.SetValue("Sign", "1"); registData1 = software2.GetValue("Sign").ToString(); } catch (Exception excp) { MessageBox.Show("RenameRegistData错误" + excp.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning); } return ; }
- c#操作进程、服务、注册表(源码测试通过)
- C#通过操作注册表检测office版本
- c#操作注册表(转)
- 服务操作注册表问题
- 通过C#操作SQLServer服务管理器
- 通过注册表删除windows服务
- C#注册表操作类(完整版)
- C#操作注册表类(完整版)
- C#注册表操作类(完整版)
- C#注册表操作范例(控制台)
- C#注册表操作类(完整版)
- C# 注册表操作类(完整版)
- C#操作注册表
- C#操作注册表
- C#中操作注册表
- C#操作注册表
- c#中操作注册表
- C#操作注册表
- Jquery AJAX 跨域调用webservices
- 全面理解COM+
- Struts2/XWork < 2.2.0远程执行任意代码漏洞分析及修补
- 记录下自己的开发历程
- TA游戏推荐:黑暗画风3D动作游戏《恐惧之魂》
- c#操作进程、服务、注册表(源码测试通过)
- windows迁移linux问题集锦
- [HTML5系列实践之一]用HTML5做动态饼图
- 本博客会更正转载文章的错误 andriod || linux --- 热烈庆祝突破1000分
- ios学习一:objective-c面向对象的一些术语(来源objective-c基础编程)
- C语言中的两个!号
- 中国城市电话区号对照表(不包括台湾省)
- linux增加/删除虚拟IP地址
- struts2中的s:if标签的用法