如何判断具有相同名称的多个进程之间的区别?
我有一个程序将使用不同的参数启动相同的文件。除非父程序崩溃,否则我可以很好地管理进程。已启动的进程无法与父进程一起运行。当我重新启动程序时,如何区分每个实例?
答案 0 :(得分:4)
您可以使用进程ID区分:
Process myProcess = Process.Start("C:\\Program Files (x86)\\MyProgram\\Program.exe");
int processId = myProcess.Id;
processId 是此处的关键。
答案 1 :(得分:1)
您应该能够使用WMI和给定的PID查询命令行参数,如下所示:
using (ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT CommandLine FROM Win32_Process WHERE ProcessId = 1234"))
{
foreach (ManagementObject mo in mos.Get())
{
Console.WriteLine(mo["CommandLine"]);
}
}