C# 以编程方式删除Windows服务#
我需要编写一个程序来删除窗口服务。但是,我只有服务器名。如何删除它?您可以使用System.ServiceProcess.ServiceController类查找要删除的服务。 下面的代码将为您提供安装在计算机上的服务数组(ServiceName属性是您将用于标识服务的属性): 要删除该服务,可以像下面这样调用sc命令:C# 以编程方式删除Windows服务#,c#,C#,我需要编写一个程序来删除窗口服务。但是,我只有服务器名。如何删除它?您可以使用System.ServiceProcess.ServiceController类查找要删除的服务。 下面的代码将为您提供安装在计算机上的服务数组(ServiceName属性是您将用于标识服务的属性): 要删除该服务,可以像下面这样调用sc命令: ProcessStartInfo psi = new ProcessStartInfo("sc"); psi.Arguments = string.Format
ProcessStartInfo psi = new ProcessStartInfo("sc");
psi.Arguments = string.Format("{0} delete \"{1}\"", machineName, serviceName).Trim();
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
var process = Process.Start(psi);
process.WaitForExit(timeoutMilliseconds);
var output = process.StandardOutput.ReadToEnd();
if (process.ExitCode != 0)
{
throw new Exception(string.Format("Service delete for Windows Service {0} failed.", serviceName));
}
上面的代码将尝试删除服务,如果超时毫秒后无法执行,则抛出异常。好吧,您应该学习一些编程语言(例如C),然后尝试自己解决问题,如果您在这方面有任何实际问题,欢迎您这样做。StackOverflow不是一个代码编写服务。我在谷歌上搜索了你的标题,发现了两个主要匹配项,因为你一定已经找到了。它们怎么不起作用?
ProcessStartInfo psi = new ProcessStartInfo("sc");
psi.Arguments = string.Format("{0} delete \"{1}\"", machineName, serviceName).Trim();
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
var process = Process.Start(psi);
process.WaitForExit(timeoutMilliseconds);
var output = process.StandardOutput.ReadToEnd();
if (process.ExitCode != 0)
{
throw new Exception(string.Format("Service delete for Windows Service {0} failed.", serviceName));
}