C#控制台程序中使用 Process.Start()启动exe,但是却重新打开了一个窗口,如何让其在当前窗口中继续显示 7
2个回答
展开全部
try
{
Process proc = new Process();
proc.StartInfo.WorkingDirectory = @"C:\Users\Administrator\source\repos\sss\sss\bin\Debug\netcoreapp2.1\";
proc.StartInfo.FileName = " cmd.exe ";
proc.StartInfo.Arguments = @" /c C:\Users\Administrator\source\repos\sss\sss\bin\Debug\netcoreapp2.1\sss.bat";
proc.Start();
proc.Close();
proc.Dispose();
string file = proc.StartInfo.WorkingDirectory + "sss.bat";
Thread.Sleep(300);
Console.WriteLine("程序sss已开启");
Process[] getProcessName = Process.GetProcesses();
foreach (Process pro in getProcessName)
{
if (pro.ProcessName == "dotnet")
{
if (!ht.Contains(pro.Id))
{
ht.Add(pro.Id, file);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine("Exception Occurred :{0},{1}", ex.Message, ex.StackTrace.ToString());
}
{
Process proc = new Process();
proc.StartInfo.WorkingDirectory = @"C:\Users\Administrator\source\repos\sss\sss\bin\Debug\netcoreapp2.1\";
proc.StartInfo.FileName = " cmd.exe ";
proc.StartInfo.Arguments = @" /c C:\Users\Administrator\source\repos\sss\sss\bin\Debug\netcoreapp2.1\sss.bat";
proc.Start();
proc.Close();
proc.Dispose();
string file = proc.StartInfo.WorkingDirectory + "sss.bat";
Thread.Sleep(300);
Console.WriteLine("程序sss已开启");
Process[] getProcessName = Process.GetProcesses();
foreach (Process pro in getProcessName)
{
if (pro.ProcessName == "dotnet")
{
if (!ht.Contains(pro.Id))
{
ht.Add(pro.Id, file);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine("Exception Occurred :{0},{1}", ex.Message, ex.StackTrace.ToString());
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你应该设置你全屏的form 的topmost属性为true了,如果你没设置这个属性,新启动的程序都是在前面的
追问
不不不,我的不是窗体程序...
我的意思是,我有2个控制台程序,他们都有不同的在屏幕上的输出内容,通过程序A的某个操作去打开程序B,然而这时候程序B的内容没有在A里面显示,而是又打开了一个控制台窗口.
我的目的是,让程序B的内容继续显示在A里,而不是新开一个控制台窗口.
可能有点绕,抱歉~
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询