如果我通过使用Process.GetProcessesByName("Notepad");
将连接到正在运行的进程,是否可以重建该进程的ProcessStartInfo?是否可以从已经运行的进程构造ProcessStartInfo?
我会例如希望能够附着到记事本,杀并开始一遍。没有有效的ProcessStartInfo开始调用将失败。
如果我通过使用Process.GetProcessesByName("Notepad");
将连接到正在运行的进程,是否可以重建该进程的ProcessStartInfo?是否可以从已经运行的进程构造ProcessStartInfo?
我会例如希望能够附着到记事本,杀并开始一遍。没有有效的ProcessStartInfo开始调用将失败。
对此没有直接的支持。
您可以遍历正在运行的进程的每个属性并使用相应的值初始化一个ProcessStartInfo
对象。
不,有些情况下这是不可能的。一个简单的例子是:
Process.Start("example.lnk");
没有办法后来发现一个.lnk文件被用来启动进程。
WorkingDirectory是一个棘手的问题,一个过程通常需要它被正确设置,但稍后可能会改变它。开始使用不同用户帐户的过程是不可逾越的,您无法提供正确的帐户密码。自定义环境是另一个。