您可以使用ManagementObjectSearcher
來獲取進程的命令行參數,並且在此記事本示例中,可以解析出文件名。下面是寫出來的完整路徑,並在記事本中所有打開的文件的文件名,我不得不引用到這個特定DLL一個簡單的控制檯應用程序例子..
Imports System
Imports System.ComponentModel
Imports System.Management
Module Module1
Sub Main()
Dim cl() As String
For Each p As Process In Process.GetProcessesByName("notepad")
Try
Using searcher As New ManagementObjectSearcher("SELECT CommandLine FROM Win32_Process WHERE ProcessId = " & p.Id)
For Each mgmtObj As ManagementObject In searcher.Get()
cl = mgmtObj.Item("CommandLine").ToString().Split("""")
Console.WriteLine(cl(cl.Length - 1))
Next
End Using
Catch ex As Win32Exception
'handle error
End Try
Next
System.Threading.Thread.Sleep(1000000)
End Sub
End Module
:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Managment.dll
感謝您的答覆,我會盡快測試並報告回來。 –
這是非常好的,正是我在找的東西。非常感謝你。 –