【问题标题】:How to get Process executable path using ManagementEventWatcher如何使用 ManagementEventWatcher 获取进程可执行路径
【发布时间】:2019-11-14 07:16:25
【问题描述】:

我知道如何使用 ManagementEventWatcher 获取 ProcessID 和 ProcessName。我的代码运行良好。

我需要什么?
我想得到一个过程的路径。
我想打印 ProcessID、ProcessName 和 ProcessPath。

我的密码:

Dim processStartEvent As ManagementEventWatcher = New ManagementEventWatcher("SELECT * FROM Win32_ProcessStartTrace")
Dim processStopEvent As ManagementEventWatcher = New ManagementEventWatcher("SELECT * FROM Win32_ProcessStopTrace")

Public Sub New()
    InitializeComponent()
    AddHandler processStartEvent.EventArrived, AddressOf Me.processStartEvent_EventArrived
    processStartEvent.Start()
    AddHandler processStopEvent.EventArrived, AddressOf Me.processStopEvent_EventArrived
    processStopEvent.Start()

End Sub

Private Sub processStartEvent_EventArrived(EventArrivedEventArgs, e)
    Dim processName As String = e.NewEvent.Properties("ProcessName").Value.ToString
    Dim processID As String = Convert.ToInt32(e.NewEvent.Properties("ProcessID").Value).ToString
    FileIO.WriteToFile("Process ID: " & processID & vbNewLine)
    FileIO.WriteToFile("Process Name: " & processName & vbNewLine)
End Sub

Private Sub processStopEvent_EventArrived(EventArrivedEventArgs, e)
    Dim processName As String = e.NewEvent.Properties("ProcessName").Value.ToString
    Dim processID As String = Convert.ToInt32(e.NewEvent.Properties("ProcessID").Value).ToString
    FileIO.WriteToFile("Process ID: " & processID & vbNewLine)
    FileIO.WriteToFile("Process Name: " & processName & vbNewLine)
End Sub

如果你不熟悉 VB.net,你也可以用 C# 来回答。

【问题讨论】:

    标签: c# vb.net process wmi managementeventwatcher


    【解决方案1】:

    processID 获取进程路径怎么样? 像这样

    System.Diagnostics.Process.GetProcessById(processID).MainModule.FileName;
    

    这里有一些关于MainModuleProcess.MainModule Property的信息

    我不知道为什么在这里你从string 转换为int 然后从int 转换为string

    Dim processID As String = Convert.ToInt32(e.NewEvent.Properties("ProcessID").Value).ToString()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-24
      • 1970-01-01
      • 2012-06-18
      • 2020-08-04
      • 1970-01-01
      • 1970-01-01
      • 2019-09-28
      • 1970-01-01
      相关资源
      最近更新 更多