簡體   English   中英

如何使用 c# 從 services.msc 檢索可執行文件的路徑?

[英]How to retrieve the path to executables from services.msc using c#?

如何使用c#windows services獲取以下突出顯示的數據?

在此處輸入圖像描述

我試過下面的代碼來獲取可執行文件的路徑

    private string GetInstallationPath(string serviceName)
    {
        ServiceController[] services = ServiceController.GetServices();
        foreach (ServiceController service in services)
        {
            if (service.ServiceName == serviceName)
            {
                return service.GetType().Assembly.Location.ToString();
            }
        }
        return string.Empty;
    }

但它不返回 exe 可執行路徑。

據我所知,它無法通過ServiceController API 完成。您可以使用 WMI:

var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Service");
var result = searcher.Get()
    .OfType<ManagementBaseObject>()
    .Select(mo => new
    {
        Name = mo["Name"] as string,
        Path = mo["PathName"] as string
    })
    .ToArray();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM