c# - 如何在C#中获取已启动应用程序的PID

标签 c# .net process

我有几对相同的应用。

看起来像

Pair 1: App A + App B

Pair 2: App A + App B

and etc

每个应用程序 A 从其文件夹启动应用程序 B。 (它们都在同一个文件夹中。)

所以我是这样开始的

App A代码

Process p = new Process();
p.StartInfo.FileName = FileManager.AppDirectoryName + "\\" + AppB;
p.Start();

我也像这样停止了 App B。

foreach (Process p in Process.GetProcesses())
{  
    if (p.ProcessName == AppB)
    {
        p.Kill();
        return;
    }
} 

问题是同时可能有很多应用程序 B 在执行,所以这种方法不允许检测要杀死的目标应用程序 B。

我假设使用应用程序 B 的 PID 来终止它。 但是我现在不知道如何获取PID来启动App B...

有什么线索吗?

最佳答案

应用启动后,Process对象的Id属性会表示新启动进程的PID

var PID = p.Id;

关于c# - 如何在C#中获取已启动应用程序的PID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36953320/

相关文章:

c# - DrawString自定义控件文本在winforms C#中不显示

c# - 在 .NET 控制台应用程序中,是否可以让一行文本始终在控制台中保持可见?

.NET 4.0 Dictionary<TKey,TValue> : Value type key boxed for a futile 'null' check. 这会损害性能吗?

CreateProcess 和 lpCommandLine 生命周期

process - 如何广播到所有链接的进程?

c# - 在哪里定义常量并在任何地方使用它们?

javascript - 为什么 IE 无法关闭 "Cancel"按钮上的选项卡单击 c#

c# - MongoDB 的推送和根在 C# 中的等效项是什么?

c# - 使用 WMI 调用解决 "Access Denied"异常

java - 收集 Linux 命令输出