WMI и получение CommandLine запуска процесса в VB.net - PullRequest
1 голос
/ 03 августа 2010

Это командная строка, которую я хочу использовать в моей программе VB.NET.Найдите запущенный процесс "mpc-hc.exe" и получите командную строку запущенного процесса

wmic process where name='mpc-hc.exe' get CommandLine

Я хочу получить вывод этой команды в строку.Я знаю, что это может быть сделано изначально в программе VB.NET, и я посмотрел, как это было сделано.Тем не менее, я не могу заставить код выполнять то, что он делал в командной строке, которую я имею выше.

Есть предложения о том, как мне это реализовать?Спасибо.

1 Ответ

3 голосов
/ 04 августа 2010

wmic - оболочка командной строки для Инструментария управления Windows (WMI) API.В .NET Framework пространство имен System.Management обеспечивает доступ к этому API.

Ниже приведен эквивалент Visual Basic .NET для вашей командной строки.Этот код запрашивает экземпляры класса Win32_Process, соответствующие mpc-hc.exe , и считывает их свойство CommandLine:

Imports System.Management
...

Dim searcher As New ManagementObjectSearcher( _
  "SELECT * FROM Win32_Process WHERE Name='mpc-hc.exe'")

For Each process As ManagementObject in searcher.Get()
  Console.WriteLine(process("CommandLine"))
Next
...