【发布时间】:2011-01-13 12:31:02
【问题描述】:
我有一个在 Windows 中运行的 Perl 脚本,它在屏幕上显示很长的行。
我不想永久修复我的控制台大小。我只是希望它变大,以防这个脚本正在运行。
有没有办法在这个窗口内运行的 Perl 脚本中定义控制台的大小?
【问题讨论】:
我有一个在 Windows 中运行的 Perl 脚本,它在屏幕上显示很长的行。
我不想永久修复我的控制台大小。我只是希望它变大,以防这个脚本正在运行。
有没有办法在这个窗口内运行的 Perl 脚本中定义控制台的大小?
【问题讨论】:
见Win32::Console。 sample program 有一个适用于我的 Windows XP SP3 的调整大小演示。我没有在其他地方尝试过。
此外,使用仅由文本框组成的简单 GUI 可能会更容易。
这是对示例脚本中testWindow 的改编:
use strict; use warnings;
use Win32::Console;
my $OUT = Win32::Console->new(STD_OUTPUT_HANDLE);
my $IN = Win32::Console->new(STD_INPUT_HANDLE);
$IN->Mode(ENABLE_MOUSE_INPUT|ENABLE_WINDOW_INPUT);
$OUT->Size(180, 200);
my ($maxx, $maxy) = $OUT->MaxWindow;
$OUT->Cls;
$OUT->Cursor(-1, -1, -1, 0);
$OUT->FillAttr($BG_YELLOW|$FG_BLUE, $maxy * $maxx, 0, 0);
$OUT->FillChar('X', $maxy*$maxx, 0, 0);
$OUT->Window(1, 0, 0, $maxx, $maxy);
while ($maxx>1 and $maxy>1) {
$maxx -= 5;
$maxy -= 5;
$OUT->Window(1, 0, 0, $maxx, $maxy);
sleep 1;
}
$OUT->Window(1, 0, 80, 50);
$OUT->Cls;
【讨论】:
您可以使用mode 命令设置正在运行的控制台的控制台大小:
mode con lines=50 cols=200
更改只会持续到控制台窗口关闭。
【讨论】:
mode 或mode con 以获取有关可用设置的更多信息