簡體   English   中英

如何從Perl程序中設置cmd.exe窗口的大小?

[英]How can I set the size of the cmd.exe window from my Perl program?

我有一個在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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM