【发布时间】:2019-07-11 08:53:44
【问题描述】:
我正在尝试查找正在运行的服务的可执行路径,并且我查看了 ServiceBase 并且没有指示路径的属性。 ServiceController offer any kind of help也没有。
ServiceBase []services=ServiceController.GetServices();
IEnumerable<string> paths=services.Select(x=> x. ? );
我也尝试过使用sc qc cmd 命令,但它似乎不适用于特定服务
Process proc = new Process();
var info = new ProcessStartInfo();
info.FileName = "cmd.exe";
info.Arguments = "sc qc \"[service-name]\" | find \"BINARY_PATH_NAME\"";
proc.StartInfo = info;
proc.Start();
var data = await proc.StandardOutput.ReadToEndAsync();
它抛出错误:
System.InvalidOperationException: 'StandardOut 没有被重定向 或该过程尚未开始。'
有没有办法获取特定服务或所有服务的可执行文件路径?
【问题讨论】:
-
你可以在这里找到答案:stackoverflow.com/questions/9828588/…
标签: c# cmd windows-services executable-path