如何使python最大化3.7问题

2024-03-28 09:31:55 发布

您现在位置:Python中文网/ 问答频道 /正文

import os
import msvcrt
import subprocess
from ctypes import wintypes

kernel32 = ctypes.WinDLL('kernel32', use_last_error=True)
user32 = ctypes.WinDLL('user32', use_last_error=True)

SW_MAXIMIZE = 3

kernel32.GetConsoleWindow.restype = wintypes.HWND
kernel32.GetLargestConsoleWindowSize.restype = wintypes._COORD
kernel32.GetLargestConsoleWindowSize.argtypes = (wintypes.HANDLE,)
user32.ShowWindow.argtypes = (wintypes.HWND, ctypes.c_int)


def maximize_console(lines=None):
    fd = os.open('CONOUT$', os.O_RDWR)
    try:
        hCon = msvcrt.get_osfhandle(fd)
        max_size = kernel32.GetLargestConsoleWindowSize(hCon)
        if max_size.X == 0 and max_size.Y == 0:
            raise ctypes.WinError(ctypes.get_last_error())
    finally:
        os.close(fd)
    cols = max_size.X
    hWnd = kernel32.GetConsoleWindow()
    if cols and hWnd:
        if lines is None:
            lines = max_size.Y
        else:
            lines = max(min(lines, 9999), max_size.Y)
        subprocess.check_call('mode.com con cols={} lines={}'.format(
                                cols, lines))
        user32.ShowWindow(hWnd, SW_MAXIMIZE)

这曾经在3.5中起作用。。。。 由于新的更新不起作用。。。。 我只想最大化…而不是全屏。。。 它说它不识别ctypes 请帮忙

$ python Jo_Crypt.py
Traceback (most recent call last):
  File "Jo_Crypt.py", line 6, in <module>
    kernel32 = ctypes.WinDLL('kernel32', use_last_error=True)
NameError: name 'ctypes' is not defined

Tags: importtruesizeosuseerrorctypesmax
1条回答
网友
1楼 · 发布于 2024-03-28 09:31:55

实际上您没有导入ctypesfrom ctypes import wintypes意味着您从它导入了wintypes

使用import ctypes

相关问题 更多 >