C#在运行时更改进程FileName

时间:2017-04-25 04:46:31

标签: c# hyperlink process youtube

我正在为我正在开发的Twitch机器人添加一项功能,当新的视频出现在队列中时,它会自动打开YouTube视频。我在尝试将创建的进程文件名从process.StartInfo.FileName = youtubeLink1切换到youtubeLink2时遇到问题。它说当我尝试杀死并重新启动它时,该进程已经退出。反正有什么方法可以随时轻松切换吗?请不要推荐WebBrowser控件,因为我已经尝试过了。由于音乐视频的版权,它们不会在WebBrowser控件中播放(除非你知道解决方法)。感谢。

1 个答案:

答案 0 :(得分:0)

问题是,在尝试更改其StartInfo属性之前,您并未真正关闭进程或等待其退出事件,而且无法完成此操作。

尝试使用WaitForExit()Close(),如下面的代码:

Process _process = new Process();
_process.StartInfo.FileName = "youtubeLink1.exe";
_process.Start();
_process.WaitForExit();

// Close process by sending a close message to its main window.
_process.CloseMainWindow();

// Free resources associated with process.
_process.Close();

// Now you can change the name
_process.StartInfo.FileName = "youtubeLink2.exe";
...