gpt4 book ai didi

c# - 从 Process 对象获取 Process 的 "Command Line"和参数?

转载 作者:太空狗 更新时间:2023-10-29 21:18:06 27 4
gpt4 key购买 nike

在我的 Win7 任务管理器中,有一个可以显示的名为“命令行”的列,它将准确显示进程是如何启动的以及发出的所有参数。如果我没有启动当前正在运行的进程的 Process 对象,我如何获取该信息?我曾希望我可以做类似 p.StartInfo.Arguments 的事情,但它总是以空字符串的形式返回。整个 StartInfo 属性似乎是空的,可能是因为我没有启动正在查询的进程。我猜我将不得不使用 WinAPI 调用。

最佳答案

你可以使用 WMI,有一个类可以查询以检索进程列表,每个对象还包含启动进程的命令行属性

string query = "SELECT Name, CommandLine, ProcessId, Caption, ExecutablePath " + 
"FROM Win32_Process";
string wmiScope = @"\\your_computer_name\root\cimv2";
ManagementObjectSearcher searcher = new ManagementObjectSearcher (wmiScope, query);
foreach (ManagementObject mo in searcher.Get ())
{
Console.WriteLine("Caption={0} CommandLine={1}",
mo["Caption"], mo["CommandLine"]);
}

关于c# - 从 Process 对象获取 Process 的 "Command Line"和参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16702073/

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