有没有办法启动具有以下功能的C#应用程序?
例如,
myapp.exe /help将输出到您使用的控制台上的stdout,但是
myapp.exe本身将启动我的Winforms或WPF用户界面.
我可以使用哪些选项并进行权衡以获得上述示例中描述的行为?我也对Winform特定或WPF特定的想法持开放态度.
有没有办法阻止.NET控制台应用程序被关闭?我有一个遵循这种模式的应用程序:
while (true)
{
string x = Console.ReadLine();
StartLongRunningTaskOnSeparateThread(x);
}
Run Code Online (Sandbox Code Playgroud)
问题是可以关闭控制台窗口(因此切断长时间运行的任务).控制台应用程序是否存在Forms.OnClosing事件的等效项?
编辑 - 我不是想创造一些不可能杀人的东西,也许不会发出警告信息e..g"嘿,我还没有完成.你确定要关闭我吗?"
EDIT2 - 通过"x"按钮防止不合时宜的退出比阻止Ctrl-C(我使用过Console.TreatControlCAsInput = true;)更重要.假设为此目的,任何启动任务管理器的人都想要杀死程序,以至于他们应该能够.并且最终用户宁愿看到警告而不是意外取消他们长时间运行的任务.