簡體   English   中英

執行后關閉控制台窗口

[英]Close console window after execution

我正在使用以下代碼從ac#代碼打開控制台程序

ProcessStartInfo startInfo = new ProcessStartInfo(@"exepath");
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.Arguments = string.Format("b{0} {1} {2}", i, var1, var2);
Process.Start(startInfo);

這將導致打開一個新的控制台窗口並從控制台執行代碼。 但是我注意到執行完成后該控制台窗口沒有關閉。 打開的控制台程序的Program.cs只是這樣

    static void Main(string[] args)
    {
        Console.write("Executing....");          
        if (args == null || args.Length==0)
        {
            Console.write("No parameters....");
        }
        else
        {
            string batch = args[0];
            int offset = Convert.ToInt16(args[1]);
            int limit = Convert.ToInt16(args[2]);
            Console.write("Found few parameters....");                 
            ExecuteAFunction(offset, limit);

        }
         Console.write("End");
    }

這里沒有Console.ReadLine或等待輸入代碼。 那么我如何確保在執行完成后關閉由代碼Process.Start打開的窗口

您要么需要等待過程完成,如下所示

Process p = new Process();
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "CMD.EXE";
//command may be on command window 
p.Start(psi);
p.WaitForExit(); //wait for exit

或應關閉

Process myProcess = Process.Start(psi); 
//close it 
myProcess.CloseMainWindow(); 
myProcess.Close(); 

//or kill process 
myProcess.Kill();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM