【问题标题】:Perl console window - how to make it non-closable?Perl 控制台窗口 - 如何使其不可关闭?
【发布时间】:2012-12-25 13:30:05
【问题描述】:

我想知道在控制台中使用 Perl 时是否有任何方法可以隐藏关闭按钮或至少使其不可点击。我知道在使用 GUI 时这是可能的,但我需要制作一个基于控制台的应用程序,并且不希望用户故意关闭它。

【问题讨论】:

  • 任何进程都可以关闭,那你想达到什么目的呢?
  • “控制台中的 Perl”是什么意思?安慰?那是终端窗口吗?哪个操作系统?哪个航站楼?
  • 我正在努力实现您需要编写一个命令来关闭它。控制台中的 Perl 是 MS Windows 的终端。

标签: windows perl windows-console


【解决方案1】:
use strict;
use Win32::Console::ANSI qw/ SetCloseButton /;

$SIG{INT}='IGNORE';   # no Ctrl-C interrupt
SetCloseButton(0);    # no close button

【讨论】:

  • 这很聪明。你知道它是否也捕获了 Alt+F4 键盘快捷键?
  • 这是一个很好的解决方案,谢谢。我不介意 Alt + F4 组合关闭窗口,这对我来说已经足够了。
【解决方案2】:

我认为您不能阻止用户关闭 Windows 命令提示符窗口。您不仅需要隐藏关闭按钮,还必须隐藏相关的系统菜单项、上下文菜单项(取决于 Windows 的风格),并捕获Alt + F4 键盘快捷键。

如果您可以控制整个端到端流程,您可以通过隐藏控制台窗口、捕获输出并将其发送到您创建的窗口(无需当然是 close 能力)。

否则,您将不得不相信您的用户是大男孩和大女孩,并且不会关闭窗口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-11
    • 2012-10-14
    • 2012-05-02
    • 2015-10-26
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多