@OOOCYBER

Как узнать с какими параметрами запущена програмам?

Как средствами C# узнать с какими консольными параметрами запущен определенный, сторонний процесс?
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..
1) Звоним в спортлото, чтобы вам подключили бесплатную услугу google;
2) Заходим в https://google.com и пишем простой запрос "c# узнать параметры запущенного приложения"
3) Переходим по первой ссылке: Получение информации из столбца "Командная строка"...
4) ctrl+c и ctrl+v:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Management;
 
namespace ConsoleApplication7 {
    class Program {
        static void Main(string[] args) {
            Process[] processList = Process.GetProcesses();
            Process p = processList.Where(temp => temp.Id == 844).FirstOrDefault();
            if (p != null) {
                GetCommandLine(p.Id);
            }
            Console.ReadLine();
        }
        public static void GetCommandLine(int id) {
            using (ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT CommandLine FROM Win32_Process WHERE ProcessId = " + id)) {
                foreach (ManagementObject mo in mos.Get()) {
                    Console.WriteLine(mo["CommandLine"]);
                }
 
            }
        }
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Adler_lug
@Adler_lug
private static string GetCommandLine(this Process process)
{
    using (ManagementObjectCollection objects = new ManagementObjectSearcher("SELECT CommandLine FROM Win32_Process WHERE ProcessId = " + process.Id).Get())
    {
        return objects.Cast<ManagementBaseObject>().SingleOrDefault()?["CommandLine"]?.ToString();
    }
}

Другие варианты тут.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы