Het heeft geen zin om Process.StartInfo.Arguments te gebruiken voor processen die u niet hebt gestart. Het bevat alleen betekenisvolle gegevens als uw programma het proces met behulp van deze argumenten is gestart.
Je kunt WMI wel gebruiken, zoals:
var processQuery = new SelectQuery("SELECT Commandline FROM Win32_Process");
var scope = new System.Management.ManagementScope(@"\\.\root\CIMV2");
var searcher = new ManagementObjectSearcher(scope, processQuery);
ManagementObjectCollection processes = searcher.Get();
foreach (var process in processes)
{
Console.WriteLine(process["Commandline"]);
}