簡體   English   中英

從Process對象獲取Process的“命令行”和參數?

[英]Get Process's “Command Line” and arguments from Process object?

在我的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"]);
}

暫無
暫無

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

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