using System;

using System.Linq;
using System.Diagnostics;
using System.Management;
namespace GetProcessList {

public static class Program {
    static void Main(string[] args) {
        Process[] processlist = Process.GetProcesses();
        foreach(Process theprocess in processlist) {
            Console.WriteLine("Process: {0} ID: {1} CmdLine: {2}", theprocess.ProcessName, theprocess.Id, GetCommandLine(theprocess));
        }
    }
    private static string GetCommandLine(this Process process) {
        using(ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT CommandLine FROM Win32_Process WHERE ProcessId = " + process.Id)) using(ManagementObjectCollection objects = searcher.Get()) {
            return objects.Cast < ManagementBaseObject > ().SingleOrDefault() ? ["CommandLine"] ? .ToString();
        }
    }
}

}


本文由 扶苏 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论