c# - 如何使用自定义标识符启动进程/实例

标签 c# .net process instance

我必须启动该应用程序的多个实例,并且我必须稍后以某种方式识别它。

是否可以使用一些自定义 TAG 启动实例,以便稍后我可以找到我需要的实例?

Process p = new Process();
// p.TAG = "Guid"; ??????
p.StartInfo.FileName =  "path";
p.Start();

更新 1

我在 WPF 应用程序的 LOAD 事件中启动了几个进程。有时无法获取当前应用程序的进程 ID。因此,如果可能的话,我正在寻找以某种自定义方式区分实例的方法......

所以模型看起来像

ParentApp.exe
    ---->  Sun.exe
    ---->  Moon.exe


ParentApp.exe
    ---->  Sun.exe
    ---->  Moon.exe

我使用 ParentApp.exe 的 LOAD 事件传递给 Sun.exe 和 Moon.exe 正确的进程 ID,这样他们以后就可以创建正确的 MSMQ 并与 ParentApp.exe 和 ParentApp 交换数据.exe 可以关闭这些应用程序。

更新 2

我们可以在这里保留应用程序执行期间的一些自定义数据吗

p.Domain = "mydomain?????";
p.EnvironmentVariables.Add("MY_NEW_VARIABLE", "SOME_TEXT????");

http://blog.gapotchenko.com/eazfuscator.net/reading-environment-variables

最佳答案

您可以存储 Process.Id

Process p = Process.Start("notepad.exe");
MessageBox.Show(p.Id.ToString());

关于c# - 如何使用自定义标识符启动进程/实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39351065/

相关文章:

c# - 如何在 response.redirect 上使用 Target=_blank?

Linux 内核 : Threading vs Process - task_struct vs thread_info

java - "Cannot run program"在程序文件名中使用带有空格的 Runtime.exec 时

c# - ReaderWriterLockSlim 或 Lock

c# - NHibernate 将实体映射到通用查找表

c# - .ToUpper() 是如何工作的?

c# - #nullable disable - 仅适用于特定的命名空间?

linux - 如何知道哪些进程访问了文件?

c# - 事件溯源基础设施实现

c# - system.security.cryptography.sha1 是否使用 OpenSSL 库的 SHA1 算法实现?