AcTools.Utils.Helpers.ProcessExtension.GetProcessPathUsingManagement C# (CSharp) Метод

GetProcessPathUsingManagement() приватный Метод

private GetProcessPathUsingManagement ( int processId ) : string
processId int
Результат string
        private static string GetProcessPathUsingManagement(int processId) {
            var sw = Stopwatch.StartNew();

            try {
                using (var s = new ManagementObjectSearcher($"SELECT ExecutablePath FROM Win32_Process WHERE ProcessId = {processId}"))
                using (var c = s.Get()) {
                    return c.Cast<ManagementObject>().Select(x => x[@"ExecutablePath"]).FirstOrDefault()?.ToString();
                }
            } catch (Exception e) {
                AcToolsLogging.Write(e);
            } finally {
                AcToolsLogging.Write(sw.ElapsedMilliseconds + " ms");
            }

            return null;
        }