![](/img/trans.png)
[英]difference between await Task(ReadFromIO) and await Task.WhenAll(task1,task2);
[英]c# start task2 aftert task1 is completed
所以如果task1 cmd cookie刪除完成后運行task2。 我想刪除 2 或 3 個 cookie,但不在 sam 中,但仍同時運行。
Task task1 = new Task(() =>
{
string cDelete;
cDelete = "/c Javaws -uninstall & RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2 & echo off | clip ";
System.Diagnostics.Process.Start("CMD.exe", cDelete);
});
Task task2 = new Task(() =>
{
string cDelete;
cDelete = "/c Javaws -uninstall & RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2 & echo off | clip ";
System.Diagnostics.Process.Start("CMD.exe", cDelete);
});
task1.Start();
if (task1.IsCompleted)
{
task2.Start();
}
直接使用進程。
public static void Main()
{
try
{
using (Process myProcess = new Process())
{
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = "cmd.exe";
myProcess.StartInfo.Arguments = "/c Javaws -uninstall & RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2 & echo off | clip ";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
// This code assumes the process you are starting will terminate itself.
// Given that is is started without a window so you cannot terminate it
// on the desktop, it must terminate itself or you can do it programmatically
// from this application using the Kill method.
myProcess.WaitForExit();
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
在啟動task2之前,您需要調用task.wait()以確保任務完成
Task task1 = new Task(() =>
{
string cDelete;
cDelete = "/c Javaws -uninstall & RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2 & echo off | clip ";
System.Diagnostics.Process.Start("CMD.exe", cDelete);
});
Task task2 = new Task(() =>
{
string cDelete;
cDelete = "/c Javaws -uninstall & RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2 & echo off | clip ";
System.Diagnostics.Process.Start("CMD.exe", cDelete);
});
task1.Start();
task.Wait(); //add this line
if (task1.IsCompleted)
{
task2.Start();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.