C# дифференцирование процесса WMI?

Сценарий

У меня есть метод, который возвращает список процессов с помощью WMI. Если у меня есть 3 выполнения процессов (все из которых являются приложениями C#) - и у них всех есть ТО ЖЕ ИМЯ ПРОЦЕССА, но различные параметры командной строки, как может, я дифференцируюсь между ними, Если я хочу запустить их или завершить их!?

Мысли

Насколько я вижу, я физически не могу дифференцироваться между ними, по крайней мере, не имея необходимость использовать Дескриптор, но это не говорит мне, какой из них был завершен, потому что другие будут все еще сидеть там с тем же именем........

.... действительно озадаченный, справка значительно ценится!

5
задан Goober 9 April 2010 в 17:41
поделиться

2 ответа

WMI Win32_ProcessObject имеет свойство CommandLine , которое вы могли бы использовать, если это то, что вы знаете, отличает экземпляры.

string query = “Select * From Win32_Process Where Name = “ + processName;
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
ManagementObjectCollection processList = searcher.Get();

foreach (ManagementObject obj in processList)
{
     string cmdLine = obj.GetPropertyValue("CommandLine").ToString();

     if (cmdLine == "target command line options")
     {
          // do work
     }
}
1
ответ дан 15 December 2019 в 06:21
поделиться

Создайте процесс, используя метод, который дает вам идентификатор процесса в качестве выходного параметра. Например.

Затем вы можете использовать это значение, чтобы точно знать, какую версию процесса вы хотите убить позже. Например.

  • WMI: получить экземпляр Win32_Process, соответствующий ProcessId, вызвать Terminate ()
  • .NET: получить экземпляр процесса с помощью GetProcessById, вызвать Kill , а затем WaitForExit

(обратите внимание, что если процесс останавливается до того, как вы его уничтожите, ОС может назначить тот же идентификатор процесса новому процессу, поэтому, конечно, вы захотите дважды проверить, что вы убиваете правильный, например, проверьте также имя процесса)

2
ответ дан 15 December 2019 в 06:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: