Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python(Windows)更改控制台窗口的位置_Python_Windows_Windows Console - Fatal编程技术网

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

使用Python(Windows)更改控制台窗口的位置,python,windows,windows-console,Python,Windows,Windows Console,是否可以通过python更改Windows控制台的位置? 如果没有,是否有解决办法 我不知道您是否需要任何具体信息,但以防万一:我使用的是Windows 8.1(64x)、Python 3.5.0,控制台是通过Popen生成的,主要目标是将其移动到右上角 如果需要任何信息,请告诉我。我改编自 这将移动单个命令提示窗口并调整其大小(由CMD打开)。它很简单,不处理错误、多个命令提示窗口或命令行 import win32gui appname = 'Command Prompt' xpos = 5

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

我不知道您是否需要任何具体信息,但以防万一:我使用的是Windows 8.1(64x)、Python 3.5.0,控制台是通过
Popen
生成的,主要目标是将其移动到右上角

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

我改编自

这将移动单个命令提示窗口并调整其大小(由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)
要获得完整的命令行就绪,请尝试:

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)

步骤1,将窗口句柄放到控制台。第二步,移动窗口。移动窗口的程序是使用
Popen
的程序还是控制台中的程序?最好是使用
Popen
的程序(但如果您认为从“内部”更容易操作,这不是问题),请通过
AttachConsole
临时连接到孩子的控制台。调用
GetConsoleWindow
获取控制台窗口句柄。然后通过
FreeConsole
分离。然后调用
MoveWindow
SetWindowPos
来移动和调整控制台窗口的大小。您能用一个例子来回答这个问题吗?我试过了,但我觉得如果没有一个例子,这对我来说太难理解了。。。(抱歉,仍在学习python的基础知识)