使用 Python (Windows) 更改控制台窗口的位置

Ars*_*nFG 5 python windows windows-console

是否可以通过python更改Windows控制台的位置?如果没有,有什么解决方法吗?

我不知道您是否需要任何特定信息,但以防万一:我使用的是 Windows 8.1 (64x)、Python 3.5.0,正在生成控制台Popen,主要目标是将其移至顶部右上角。

如果需要任何信息,请告诉我。

Dar*_*ght 4

根据 NYMK 的回答改编了这个

这将移动单个命令提示符窗口(由 CMD 打开)并调整其大小。它很简单,不处理错误、多个命令提示符窗口或命令行。

import win32gui

appname = 'Command Prompt'
xpos = 50
ypos = 100
width = 800
length = 600

def enumHandler(hwnd, lParam):
    if win32gui.IsWindowVisible(hwnd):
        if appname in win32gui.GetWindowText(hwnd):
            win32gui.MoveWindow(hwnd, xpos, ypos, width, length, True)


win32gui.EnumWindows(enumHandler, None)
Run Code Online (Sandbox Code Playgroud)

要准备好完整的命令行 - 尝试:

import win32gui
import argparse

parser = argparse.ArgumentParser()
parser.add_argument("app_name", type=str, default='Command Prompt', help="The window name")
parser.add_argument("xpos", type=int,  default=0, help="x position: 0 or greater")
parser.add_argument("ypos", type=int,  default=0, help="y position: 0 or greater")
parser.add_argument("width", type=int, default=100, help="window width: 10 or greater")
parser.add_argument("length", type=int, default=100, help="window length: 10 or greater")

args = parser.parse_args()

appname = args.app_name
xpos = args.xpos
ypos = args.ypos
width = args.width
length = args.length


def enumHandler(hwnd, lParam):
    if win32gui.IsWindowVisible(hwnd):
        if appname in win32gui.GetWindowText(hwnd):
            win32gui.MoveWindow(hwnd, xpos, ypos, width, length, True)


win32gui.EnumWindows(enumHandler, None)
Run Code Online (Sandbox Code Playgroud)