【问题标题】:Hide controlbox on Process.Start() cmd window隐藏 Process.Start() cmd 窗口上的控制框
【发布时间】:2011-07-29 05:58:06
【问题描述】:

我正在使用 process.Start(); 启动批处理文件。 CMD 窗口看起来很好并且运行良好。如何以编程方式禁用 cmd 窗口右上角的控制框(最小化、最大化、关闭)。我希望显示 CMD 窗口,但防止用户使用 X 按钮关闭它。

谢谢!

【问题讨论】:

  • 好问题,我希望可以做到,但我不这么认为。可能唯一且不好的选择是拥有一个将 std in/out 重定向到它并为您模拟控制台窗口的应用程序。
  • 仅仅禁用关闭按钮不会阻止用户关闭它。 Ctrl+C 是另一种方式,以及右键单击任务栏图标或使用任务管理器。您的应用程序是如何设置的?你到底想做什么?您也许可以使用SetConsoleCtrlHandler
  • 这完全没有意义,用户有办法关闭无法停止的窗口。停止像白痴一样对待您的用户,他们会通过让程序运行来回报他们的青睐。
  • “停止像白痴一样对待你的用户......” - LOL
  • 如果你想在其他进程窗口中拥有绝对控制权而不被黑客入侵,也许你可以尝试其他解决方案:解析批处理文件并将其翻译成c#命令或直接使用c#脚本来做你想做的事.实施其中一种解决方案可能比黑客攻击需要更多时间,但至少它“更干净”。

标签: c# cmd process.start controlbox


【解决方案1】:

看这里:How to disable the Close button on the title bar of a console application...

它适用于任何控制台(即使是用process.Start(); 打开的控制台)。它很复杂,但我认为这是唯一可用的方法。

【讨论】:

    猜你喜欢
    • 2011-07-19
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 2019-07-22
    • 2012-10-14
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多