Perl控制台窗口 - 如何使其无法关闭?

3

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


任何进程都可以关闭,那么你想要实现什么? - Rowland Shaw
“Perl in console”是什么意思?控制台?是指终端窗口吗?是哪个操作系统?哪个终端? - sidyll
1
我正在尝试实现这一点,您需要编写一个命令来关闭它。 控制台中的Perl是指MS Windows的终端。 - Marek Lukinic
2个回答

5
use strict;
use Win32::Console::ANSI qw/ SetCloseButton /;

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

这很聪明。你知道它是否也会捕获Alt+F4键盘快捷键吗? - Jonah Bishop
这是一个很好的解决方案,谢谢。我不介意使用Alt + F4组合键来关闭窗口,这对我来说已经足够了。 - Marek Lukinic

3
我认为你无法阻止用户关闭Windows命令提示符窗口。你不仅需要隐藏关闭按钮,还必须隐藏相关的系统菜单项和上下文菜单项(取决于Windows版本),并捕获Alt + F4键盘快捷键。
如果您完全掌控整个端到端过程,您可以通过将控制台窗口隐藏、捕获输出并将其发送到您创建的窗口中(当然没有关闭能力)来做一些聪明的事情。
否则,您只能相信您的用户是成年人,并且不会关闭窗口。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接