相关疑难解决方法(0)

如何创建一个C#应用程序来决定自己是显示为控制台还是窗口应用程序?

有没有办法启动具有以下功能的C#应用​​程序?

  1. 它通过命令行参数确定它是窗口控制还是控制台应用程序
  2. 当它被要求窗口化时它不显示控制台,并且当它从控制台运行时不显示GUI窗口.

例如,

myapp.exe /help
将输出到您使用的控制台上的stdout,但是
myapp.exe
本身将启动我的Winforms或WPF用户界面.

到目前为止,我所知道的最佳答案涉及两个独立的exe和使用IPC,但这感觉非常hacky.


我可以使用哪些选项并进行权衡以获得上述示例中描述的行为?我也对Winform特定或WPF特定的想法持开放态度.

.net c# wpf winforms

46
推荐指数
4
解决办法
2万
查看次数

停止.net控制台应用程序关闭

有没有办法阻止.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;)更重要.假设为此目的,任何启动任务管理器的人都想要杀死程序,以至于他们应该能够.并且最终用户宁愿看到警告而不是意外取消他们长时间运行的任务.

.net console

6
推荐指数
1
解决办法
9593
查看次数

标签 统计

.net ×2

c# ×1

console ×1

winforms ×1

wpf ×1