是否可以通过Python更改Windows控制台的位置?
如果不行,有没有任何解决方法?
我不知道您是否需要任何特定信息,但以防万一:我正在使用Windows 8.1(64x),Python 3.5.0,控制台是通过Popen
生成的,主要目标是将其移动到右上角。
如果需要任何信息,请告诉我。
是否可以通过Python更改Windows控制台的位置?
如果不行,有没有任何解决方法?
我不知道您是否需要任何特定信息,但以防万一:我正在使用Windows 8.1(64x),Python 3.5.0,控制台是通过Popen
生成的,主要目标是将其移动到右上角。
如果需要任何信息,请告诉我。
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)
Popen
的程序还是在控制台中的程序? - Mark RansomPopen
来完成(但如果你认为从“内部”处理会更容易,那也没问题)。 - ArsonFGAttachConsole
暂时连接到子控制台。调用GetConsoleWindow
获取控制台窗口句柄。然后通过FreeConsole
分离。接下来调用MoveWindow
或SetWindowPos
来移动和调整控制台窗口大小。 - Eryk Sun