C# 获取进程名称(如任务管理器中所示)

C# 获取进程名称(如任务管理器中所示),c#,process,taskmanager,C#,Process,Taskmanager,如何使用C#获取进程名称的这一部分 这是我必须做的。但对于许多程序,它显示打开的窗口名。例如,它显示的不是“Google Chrome”,而是活动选项卡的名称 编辑:“可能重复”线程中的解决方案列出了我尝试过的事情。从我收集的信息来看,“流程”甚至不包含任务管理器中使用的信息 Process.ProcessName我认为@JamesFaix更接近。更接近。实际上现在可以使用了,但仍然不是这样。这对一些人来说是匹配的,但对其他人来说并不完全匹配。例如,taskmanager显示“Microsof

如何使用C#获取进程名称的这一部分

这是我必须做的。但对于许多程序,它显示打开的窗口名。例如,它显示的不是“Google Chrome”,而是活动选项卡的名称


编辑:“可能重复”线程中的解决方案列出了我尝试过的事情。从我收集的信息来看,“流程”甚至不包含任务管理器中使用的信息

Process.ProcessName
我认为@JamesFaix更接近。更接近。实际上现在可以使用了,但仍然不是这样。这对一些人来说是匹配的,但对其他人来说并不完全匹配。例如,taskmanager显示“Microsoft Power Point”,但.ProcessName的输出为“POWERPNT”。我在调试模式下浏览了几乎所有进程中的内容,找不到taskmanager中使用的确切文本行。我认为您要查找的内容可以关联到文件描述。看这里@StefanW。是的,正是我想要的。谢谢
WindowsAPI.GetWindowThreadProcessId(hwnd, out pid);
Process p = Process.GetProcessById((int)pid);
p.MainWindowTitle.ToString();