分类 安全工具 下的文章

获取带有命令行参数的进程列表


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();
        }
    }
}

}