代码之家  ›  专栏  ›  技术社区  ›  Pierre-Alain Vigeant

如何使用额外数据启动进程,然后搜索此进程?

c#
  •  1
  • Pierre-Alain Vigeant  · 技术社区  · 15 年前

    代理人

    代理保留对 Process 对象,该对象用于加载实例,但我必须考虑可以在不影响已启动实例的情况下关闭并重新启动代理。

    一旦代理再次启动,我需要它来搜索现有进程和 重新绑定 对过程的引用。

    现在,我开始这样的过程:

    this.AttachedProcess = new Process()
    {
        StartInfo = new ProcessStartInfo(filename)
    };
    

    Process.GetProcesses() .

    虽然我可以使用命令行参数来启动进程(比如 -instance XX )并使用 this answer ,我想知道是否有其他方法可以将额外数据分配给进程并在以后检索它。

    2 回复  |  直到 9 年前
        1
  •  2
  •   Albin Sunnanbo    15 年前

    您可以将创建的进程的Process.Id保存在文件中。

        2
  •  2
  •   Jake    15 年前

    你可以创建一个可序列化的类 ProcessInfo

    这里的主要思想是,代理应该维护这些信息,而不是Windows或正在运行的各个进程。从进程请求辅助数据需要COM、WCF或一些其他消息传递服务,这对于您所讨论的交互来说是多余的。

    System.Runtime.Serialization namespace ,尤其是 DataContractSerializer class