[英]How to get PID of started App in C#
我有幾對相同的應用程序。
看起來像
配對1:App A + App B
配對2:App A + App B
等等
每個應用程序A都從其文件夾啟動應用程序B。 (它們都在同一文件夾中。)
所以我這樣開始
應用程式A的程式碼
Process p = new Process();
p.StartInfo.FileName = FileManager.AppDirectoryName + "\\" + AppB;
p.Start();
而且我也這樣停止了AppB。
foreach (Process p in Process.GetProcesses())
{
if (p.ProcessName == AppB)
{
p.Kill();
return;
}
}
問題在於,同時可能有許多App B正在執行,因此此方法不允許檢測到目標App B被殺死。
我假設使用App B的PID殺死它。 但是我不知道如何在啟動App B時獲取PID ...
有什么線索嗎?
啟動應用程序后,Process對象上的Id屬性將指示新啟動的進程的PID
var PID = p.Id;
保存對Process對象的引用:
Process p = new Process();
p.StartInfo.FileName = @"c:\windows\notepad.exe";
p.Start();
// ...
p.Kill();
或記住其PID:
Process p = new Process();
p.StartInfo.FileName = @"c:\windows\notepad.exe";
p.Start();
long pid = p.Id;
// ...
Process.GetProcessById(pid).Kill();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.