我有一个控制台应用程序,它也可以在某些条件下打开winform。处理(它是一个数据库导出实用程序),可以通过表单或命令行完成。但表单始终与命令提示符相关联。我的意思是当我关闭控制台时,窗体也会关闭。我的要求是当窗体启动时,命令提示符会自动关闭而不关闭窗体。
[STAThread]
public static void Main(string[] args)
{
if(hastolaunchform)
{
Application.Run(new Form1());
}
else
{
Console.WriteLine("started");
try
{
dataclass.extract();
console.writeline("finish");
}
catch (Exception e)
{
Console.WriteLine("An error occur");
}
}
}
答案 0 :(得分:1)
你在这里拥有一个gui 或没有的应用程序。
你需要的是它的一个gui版本,可以选择从CLI运行,即它需要是另一个exe,或者具有不同命令行参数的相同exe,但要小心,否则它可能只是保持启动另一个版本,直到Windows死亡。
至少我认为这就是你所要求的。
CLI参数
MyApp.Exe --GUI
- GUI将在args [1]中出现。
类似
if (args.Contains["--GUI"])
{
Application.Run(new Form1());
}
else
{
if (hastolaunchForm)
{
// use Process.start to run another version of your app with --GUI parameter
// and close
}
else
{
// do console stuff.
}
}
}