Есть ли способ «GetCommandLineArgs» из другого процесса? - PullRequest
0 голосов
/ 29 июня 2019

Я просто пытаюсь запустить и уничтожить несколько экземпляров одной и той же программы с разными аргументами.Запуск не является проблемой, но как я могу убить процесс с определенным аргументом?

static void Start(string args)
        {
            var process = new Process
            {
                StartInfo = { FileName = "FileName", Arguments = args }
            };
            process.Start();
        }

Это мой метод запуска проков с аргументами

Я пытался как-то зарезервировать его, но я не смог.Я уже искал в Google в течение последнего часа, но не получил никаких полезных результатов.

Спасибо.

1 Ответ

0 голосов
/ 29 июня 2019

Используйте Dictionary<string, Process> для хранения процессов и аргументов:

static Dictionary<string, Process> processes = new Dictionary<string, Process>();

static void StartProcess(string args)
{
    var process = new Process
    {
        StartInfo = { FileName = "FileName", Arguments = args }
    };
    process.Start();
    processes.Add(args, process);
}

static void StopProcess(string args)
{
    var process = processes[args];
    process.Kill();
    process.Dispose();
    processes.Remove(args);
}
...