有关检索特定进程运行文件VB.NET的问题

问题描述

我希望能够列出当前正在通过进程打开的所有文件,例如“ EXCEL”,这样我就可以获得文件路径。

我正在使用以下代码,这些代码仅检索打开的第一个文件,并且for每个循环结束:

For Each p As Process In Process.GetProcessesByName(ProcessRuningName)
    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("""")
                For x = 0 To cl.Count - 1
                    Dim FilePath As String = cl(x)
                    If System.IO.Path.GetFileName(FilePath) = FileName Then
                        processFilesRuning.Add(FileName)
                    End If
                Next
            Next
        End Using
    Catch ex As Win32Exception
        'handle error
    End Try
Next

因此,如您所见,我正在尝试在每个进程中使用已经检索到的名称“ Excel”进行搜索,但是我只得到一个结果,即第一个打开的Excel文件,而忽略了另一个打开的文件。 / p>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)