我怎样才能从我的Perl程序中设置cmd.exe窗口的大小?

我有一个运行在Windows中的Perl脚本,显示屏幕非常长的行。

我不想永久修复我的控制台大小。 我只是希望它是很大的脚本运行的情况下。

有没有一种方法可以在此窗口中运行的Perl脚本中定义控制台的大小?

您可以使用mode命令设置正在运行的控制台的控制台大小:

 mode con lines=50 cols=200 

只有在控制台窗口关闭之前,更改才会持续。

请参阅Win32 :: Console 。 示例程序有一个适用于我的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;