我已经创建了一个应用程序,当按下浏览按钮时打开一个文件管理按钮,我可以选择最多5个exe文件,当我按下启动时,它会同时启动它们。简单正确?
我需要这样做,当我按下启动它启动软件,但它会在一定时间后再次关闭它们,并且它从用户valie中得到那个时间,他们在文本框中输入..我真的不知道如何使用文本框和计时器将Process.Start(FileName)连接到计时器。
我如何为此构建结构?即
创建一个计时器 使用定时器间隔设置一定的毫秒数 将计时器与代码
连接起来多数民众赞成我是如何看待正在构建的应用程序的,我想把它拿出去但却不知道从哪里开始。
答案 0 :(得分:2)
是的,让计时器运行,然后在x毫秒后,向它们发出Process.Kill。
您还可以执行以下操作,为每个使用单独的线程:
Task.Run(() =>
{
// start the process and keep track of it
var theProcess = Proces.Start(one of the porcesses);
// sleep for your desired number of milliseconds.
Thread.Sleep(5000);
// end the process (violently :)
theProcess.Kill();
});
如果你的exes在列表中,你也可以使用Parallel.ForEach()执行类似的操作:
Parallel.ForEach(filenames, (file) =>
{
var theProcess = Process.Start(file);
Thread.Sleep(5000);
theProcess.Kill();
});