python - 如何在python中使用Ctypes最小化窗口
问题描述
像最大化我们可以这样做
查询中的 elif '最大化':
speak('Ok sir!')
user32 = ctypes.WinDLL('user32')
SW_MAXIMISE = 3
hWnd = user32.GetForegroundWindow()
user32.ShowWindow(hWnd, SW_MAXIMISE)
speak('done sir!')
解决方案
确保设置.argtypes
和.restype
。 被定义为指针,如果您未指定HWND
,64 位系统将不会像ctypes
假设(32 位)那样正确传递或返回参数。int
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)
推荐阅读
- spring-boot - 在使用 new 关键字创建的对象上使用 mockito
- reactjs - 在尝试使用 babel、webpack 创建 React 应用程序时运行 webpack 构建问题
- xpath - 如何从 xslt 1.0 中的当前节点祖先访问前一个兄弟姐妹的孩子
- java - Java - 加载资源目录
- ip-address - 网站和网络是否都有 IP 地址
- javascript - 更好/更快的算法来旋转数组?
- tableau-api - Tableau 中的 DATEPARSE
- sql - PostgreSQL:是否可以打印正在运行的查询的查询计划?
- c# - FileStream 的部分流
- spring - Spring Security Http Basic 无法显示登录页面