如何在python中使用Ctypes最小化窗口

2024-09-27 21:30:03 发布

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

例如,我们可以这样做

elif查询中的“最大化”:

 speak('Ok sir!')

 user32 = ctypes.WinDLL('user32')

 SW_MAXIMISE = 3

 hWnd = user32.GetForegroundWindow()

 user32.ShowWindow(hWnd, SW_MAXIMISE)

 speak('done sir!')

Tags: okswctypesspeakelifsirdonehwnd
1条回答
网友
1楼 · 发布于 2024-09-27 21:30:03

确保设置.argtypes.restypeHWND定义为指针,如果不指定,64位系统将不会正确地传递或返回参数,因为ctypes假定int(32位)

import ctypes
from ctypes import wintypes as w

user32 = ctypes.WinDLL('user32')
user32.GetForegroundWindow.argtypes = ()
user32.GetForegroundWindow.restype = w.HWND
user32.ShowWindow.argtypes = w.HWND,w.BOOL
user32.ShowWindow.restype = w.BOOL

# From https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-showwindow
SW_MAXIMIZE = 3
SW_MINIMIZE = 6

hWnd = user32.GetForegroundWindow()
user32.ShowWindow(hWnd, SW_MINIMIZE)

相关问题 更多 >

    热门问题