![]() |
1
10
这是我试图解决这个问题的方法。不过,任务管理器仍然可以关闭应用程序。但是,我的想法是尝试检测它何时关闭,然后重新启动。但是,我没有实现那个部分。 以下程序将检测到一个ctrl-c&ctrl-break并将继续运行。 编辑: 已删除“X”按钮
|
![]() |
2
3
很明显,任务管理器或关机足以停止任务,这不是简单的,但是,如果您将应用程序作为服务来编写,那么至少它不会坐在桌面上,上面有一个诱人的“x”供人们点击? 编辑:基于您的评论。 需要用户输入但无法重写的控制台应用程序始终可以使用“x”关闭。 作为服务重写并不是一项艰巨的任务。服务实际上只是一个带有一些包装代码的可执行文件。 困难在于用户的输入。但是,您可以将长时间运行的线程编写为一个服务,同时还可以使用一个控制台应用程序来传递运行该线程的指令。 或者,如果你只是想阻止人们不小心按下“X”,为什么不在控制台应用程序的前10行填写“重要过程不要关闭”!“ |
![]() |
3
2
为什么不写一个小的WinForms前端?当用户关闭时,更容易提供视觉反馈。您可以禁用取消最小化/最大化/关闭按钮。 我的意思是,运行一个超薄的WinForms应用程序来执行你的任务并没有什么损失。 我假设你在Windows上,但是如果这是mono.net,你可以使用gtk或类似的工具。 |
![]() |
4
1
不,您可以阻止Control-C(请参见
如果您需要一些难以停止的东西,您需要查看创建一个Windows服务,并使用一个ACL阻止它停止(系统除外…这样系统就可以关机了)。 附加:如果需要用户交互,那么将应用程序分为两部分。保持运行的服务,公开进程间入口点。以及提供交互性并使用进程间通信与服务通信的UI。 |
![]() |
5
0
对于控制台应用程序,我不知道Forms.onClosing的任何等效功能。然而,即使是forms.onclosing也不是防止应用程序关闭的简单方法。我也可以很容易地在任务管理器中找到程序并杀死它。这将完全绕过Forms.onClosing技巧并粗暴地关闭应用程序。你无能为力阻止这一切。 你能给我们一点你为什么要这样做的背景吗? |
![]() |
6
0
我不会阻止用户关闭应用程序。我要做的是,当你开始这个过程时,给他们一个警告,说“这可能需要几分钟。请等一下……” 如果他们决定杀了它,他们就杀了它。 就我个人而言,我不喜欢一个过程剥夺了我太多的控制权。 |
![]() |
7
0
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 5 月前 |
|
pseudodev · 失败的测试仅显示堆栈跟踪,不显示完整日志 6 月前 |
![]() |
CactusCake · if语句中应有分号 7 月前 |
![]() |
Bin4ry · 子文件夹中的应用程序设置 7 月前 |