【问题标题】:Need to get Filepath of an external process using processId in vb.net需要使用 vb.net 中的进程 ID 获取外部进程的文件路径
【发布时间】:2015-09-22 15:45:15
【问题描述】:

使用以下代码,我可以执行循环并获取 ProcessId 和进程名称。

For Each mo In MgmtClass.GetInstances

我真正需要的是进程的文件路径。而且我不想启动可执行文件来获取路径。

感谢任何帮助... TIA

【问题讨论】:

    标签: .net vb.net process filepath


    【解决方案1】:

    假设你有 ProcessId,你可以使用 System.Process 来获取正在执行的进程的文件路径。

    假设您有一个名为 processId 的变量 -

    'Imports System.Diagnostics
    
    Dim proc = Process.GetProcessById(processId)
    
    MessageBox.Show(proc.Modules(0).FileName)
    

    【讨论】:

    • 感谢您的回答,但是,我在每个文件上都收到“拒绝访问”错误?也许是我的错,不确定。这是我正在使用的代码。也许你可以告诉我哪里出错了 Dim pID As Integer = Convert.ToInt32(mo("ProcessId")) Dim proc = Process.GetProcessById(pID) Try str = proc.Modules(0).FileName Catch ex As异常 MsgBox(ex.Message) 结束尝试
    • 抱歉代码不在代码框中。有时我只是无法让它工作......我可能应该说它是 proc.Modules(0).FileName 是我得到“拒绝访问”错误的地方......
    • 没问题,不是像管理员运行visual studio那么简单吗?我提供和测试的代码可以在我的本地机器上运行。你能在你的机器上试试Dim proc = Process.GetProcessById(Process.GetProcesses()(0).Id)吗?这只会得到系统可以找到的第一个正在运行的进程。
    • 谢谢你...我试过你的想法,这就是 proc 是什么:{System.Diagnostics.Process (UninstallMonitor)} 我如何使用它来找到程序的路径?再次感谢
    • 忘了回答您关于这不容易的评论......不,不是。很长时间以来,我一直在努力寻找解决方案!
    猜你喜欢
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    相关资源
    最近更新 更多