我需要已经在计算机上运行的程序的进程ID。我该怎么做呢? (该过程不是从Process.Start())
开始的答案 0 :(得分:2)
使用GetProcessesByName或仅GetProcesses使用一点LINQ,具体取决于您打算如何识别程序。
using System;
using System.Diagnostics;
using System.ComponentModel;
void Example()
{
// Get all processes running on the local computer.
var localProcesses = Process.GetProcesses();
//Get all processes with a name that contain "Foo" in the title
var fooProcess = localProcesses.Where(p => p.MainWindowTitle.Contains("Foo"));
// Get all instances of Notepad running on the local computer.
var notepad = Process.GetProcessesByName("notepad").Single();
}
获得Process对象后,您可以使用Id属性获取其ID。
var id = process.Id;