3

Windows からスクリプト タイプの Python ファイルを起動すると、スクリプトが実行される Windows シェル タイプのウィンドウが表示されます。スクリプトは、ウィンドウ サイズ、スクリーン バッファ サイズ、およびウィンドウのウィンドウ位置をどのように決定し、設定/制御できますか? これは pywin32 モジュールで実行できると思われますが、方法がわかりません。

4

1 に答える 1

11

これは、win32 APIのSetConsoleWindowInfo関数を使用して行うことができます。以下が機能するはずです。

from ctypes import windll, byref
from ctypes.wintypes import SMALL_RECT

STDOUT = -11

hdl = windll.kernel32.GetStdHandle(STDOUT)
rect = wintypes.SMALL_RECT(0, 50, 50, 80) # (left, top, right, bottom)
windll.kernel32.SetConsoleWindowInfo(hdl, True, byref(rect))

アップデート:

ウィンドウの位置は基本的に、rect上記の変数がleft, top, right, bottom引数を介して設定するものです。実際のサイズは、次の引数から導出されます。

width = right - left + 1
height = bottom - top + 1

画面バッファーのサイズを、たとえば 100 行 x 80 列に設定するには、SetConsoleScreenBufferSize APIを使用できます。

bufsize = wintypes._COORD(100, 80) # rows, columns
windll.kernel32.SetConsoleScreenBufferSize(h, bufsize)
于 2010-09-05T20:37:42.730 に答える