如何从进程C#获取appname

时间:2017-07-21 10:14:42

标签: c#

我能够使用Process类在Windows上运行进程,而不是过滤主题,以便打开一个窗口。 但是,我不需要进程名称,而是应用程序的名称。例如Microsoft Office Word的进程名称是WINWORD,但我想获取Word。

我试过了:

proc.MainModule.FileVersionInfo.ProductName

这非常糟糕,例如Visual Studio的进程名称是denenv,上面的函数返回MicrosoftR Visual StudioR。更不用说它在Word上崩溃了。那么有没有办法从流程名称中获取应用程序名称。

1 个答案:

答案 0 :(得分:0)

创建一个wpf应用程序项目,将这些代码添加到MainWindow.cs,并添加一个断点作为指令。(这适用于使用Microsoft Visual Studio IDE.Mine是Visual Studio 2015.)

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        List<Process> ProcList = new List<Process>();
        ProcList = Process.GetProcesses().ToList();
    }//Add break point here.
}

点击断点后,将鼠标移到&#39; ProcList&#39;。您可以通过单击小三角形按钮来查看它的所有成员。通过重新执行此操作,您可以看到Process类的所有公共成员,并找到您想要的任何内容。

我发现了一些可能有用的属性。

Process.ProcessName
Process.MainModule.FileName
Process.MainModule.FileVersionInfo.FileName
Process.MainModule.FileVersionInfo.InternalName
Process.MainModule.FileVersionInfo.FileDescription

希望它可以提供帮助。