Dir*_*mar 29 c# diagnostics process
如何获取另一个进程的命令行参数?
使用System.Diagnostics.Process类的静态函数我可以获取正在运行的进程列表,例如:
Process[] processList = Process.GetProcessesByName(processName);
Run Code Online (Sandbox Code Playgroud)
但是,无法访问用于启动此过程的命令行.如何做到这一点?
xcu*_*cud 55
如果未使用Start方法启动进程,则StartInfo属性不会反映用于启动进程的参数.例如,如果使用GetProcesses获取计算机上运行的进程数组,则每个进程的StartInfo属性不包含用于启动进程的原始文件名或参数.(来源:MSDN)
Stuart的WMI建议很好:
string wmiQuery = string.Format("select CommandLine from Win32_Process where Name='{0}'", processName);
ManagementObjectSearcher searcher = new ManagementObjectSearcher(wmiQuery);
ManagementObjectCollection retObjectCollection = searcher.Get();
foreach (ManagementObject retObject in retObjectCollection)
Console.WriteLine("[{0}]", retObject["CommandLine"]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30534 次 |
| 最近记录: |