gpt4 book ai didi

c# - Windows 服务的位置 *不* 在我的项目中

转载 作者:太空宇宙 更新时间:2023-11-03 20:45:52 26 4
gpt4 key购买 nike

如果我在“服务”对话框中右键单击并选择一项服务(例如,即插即用)的属性,我会得到几条信息,包括“可执行文件的路径”。对于即插即用(在 Vista 中),这是:

C:\Windows\system32\svchost.exe -k DcomLaunch

如果我知道服务名称(和/或显示名称),是否有某种方法可以使用 .NET 代码获取相同的信息?

(我不能使用 GetExecutingAssembly(),因为我没有从我的项目中运行该服务。)

最佳答案

没有互操作的另一种选择是 WMI 查找(或注册表 - 有点老套!)。

这是一个基于 this code 的简单示例:

private static string GetServiceImagePathWMI(string serviceDisplayName)
{
string query = string.Format("SELECT PathName FROM Win32_Service WHERE DisplayName = '{0}'", serviceDisplayName);
using (ManagementObjectSearcher search = new ManagementObjectSearcher(query))
{
foreach(ManagementObject service in search.Get())
{
return service["PathName"].ToString();
}
}
return string.Empty;
}

关于c# - Windows 服务的位置 *不* 在我的项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/869701/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com