想用C#做一个控制系统服务进程的小程序,求个思路。该如何解决
想用C#做一个控制系统服务进程的小程序,求个思路。。。。。
有两个服务每次用的时候都得手动启动。现在想做一个控制器。
1.开和关集成在一起,判断如果此服务没有启动那么启动,已经启动那么关闭
2.默认以管理员身份运行。
(最好是控制台应用程序,实现只双击运行程序就行,不需要图形化界面)
都要用到哪些知识点?请前辈们指点。。。谢谢。。。。。
------解决方案--------------------
用WMI吧。
读取你电脑信息,打开关闭某个进程,打开关闭服务,等等多的去了
具体可以参考http://blog.****.net/fer_ba/article/details/4280983(WMI使用的WIN32_类库名)
分享一段控制重启的代码和一段获取MAC的代码:
有两个服务每次用的时候都得手动启动。现在想做一个控制器。
1.开和关集成在一起,判断如果此服务没有启动那么启动,已经启动那么关闭
2.默认以管理员身份运行。
(最好是控制台应用程序,实现只双击运行程序就行,不需要图形化界面)
都要用到哪些知识点?请前辈们指点。。。谢谢。。。。。
------解决方案--------------------
用WMI吧。
读取你电脑信息,打开关闭某个进程,打开关闭服务,等等多的去了
具体可以参考http://blog.****.net/fer_ba/article/details/4280983(WMI使用的WIN32_类库名)
分享一段控制重启的代码和一段获取MAC的代码:
/// <summary>
/// 重启计算机
/// </summary>
public static void Restart()
{
try
{
ManagementClass mc = new ManagementClass("Win32_OperatingSystem");
//此句是开启特殊权限,不开启的话一些命令无法完成(e.g. 重启计算机 -_-!!!)
mc.Scope.Options.EnablePrivileges = true;
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
mo.InvokeMethod("Reboot", null, null);
}
}
catch (Exception)
{
Console.WriteLine("重启失败");
throw;
}
}
/// <summary>
/// 获取Mac地址,通过Management类(WMI)
/// </summary>
/// <returns></returns>
public static string GetMacForManagement()
{
try
{
//获取网卡硬件地址
string mac = "";
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
{
mac = mo["MacAddress"].ToString();
break;
}
}
moc = null;
mc = null;
return mac;
}
catch
{
return "null";
}