Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取.NET Core中另一个进程的命令行_C#_Windows_Command Line_Process_.net Core - Fatal编程技术网

C# 获取.NET Core中另一个进程的命令行

C# 获取.NET Core中另一个进程的命令行,c#,windows,command-line,process,.net-core,C#,Windows,Command Line,Process,.net Core,访问StartInfo属性时,以下代码引发了一个invalidoOperationException:“此对象未启动进程,因此无法确定请求的信息” using System; using System.Diagnostics; using System.Linq; namespace ProcArgs { class Program { static void Main(string[] args) { var proce

访问
StartInfo
属性时,以下代码引发了一个
invalidoOperationException
:“此对象未启动进程,因此无法确定请求的信息”

using System;
using System.Diagnostics;
using System.Linq;

namespace ProcArgs
{
    class Program
    {
        static void Main(string[] args)
        {
            var process = Process.GetProcessesByName("svchost").FirstOrDefault();
            Console.WriteLine(process.StartInfo.Arguments);
        }
    }
}

那么,如何获取.NET Core 2.2(Windows)中另一个已在运行的进程的命令行呢?

您是以管理员身份运行的吗?以管理员身份运行它没有任何帮助。:“字符串仅仅是一个“预初始化变量”,一个进程原则上可以这样做(实际上很多进程都是这样做的,尽管通常是无意的)写入保存命令行的内存,在这种情况下,如果您四处寻找它,您将看到修改后的命令行。内核保存“真实原始命令行”的地方没有秘密的隐藏处,正如C编译器保存“函数的真实原始参数”的地方没有秘密的隐藏处一样。使用Windows Compatibility Pack,您应该能够运行WMI查询来获取这些参数。例如