python - Python-检测点击最小化按钮
问题描述
我想用win32gui检测对任何窗口最小化按钮的点击。我有一个使用 WM.NCHITTEST 的想法,但我不知道如何使用它。
解决方案
我想到了。
以下代码段首先等待右键单击,然后获取单击位置(x 和 y 轴),然后执行 hittest 以了解执行单击的区域类型:
import win32gui, win32api
previous_state = win32api.GetKeyState(0x02)
while True:
a = win32api.GetKeyState(0x02)
if a != previous_state:
previous_state = a
if a < 0:
Clickx, Clicky = win32gui.GetCursorPos()
window = win32gui.GetForegroundWindow()
win32gui.SetForegroundWindow(window)
WM_NCHITTEST_result = win32gui.SendMessage(window, 0x0084,"",Clickx)
if WM_NCHITTEST_result == 8: # check if click is on the minimize btn
# Do something here
官方的 hittest 是通过以下方式执行的:
Clickx, Clicky = win32gui.GetCursorPos()
WM_NCHITTEST_result = win32gui.SendMessage(window, 0x0084,"",Clickx)
并检查结果是否是最小化点击:
if WM_NCHITTEST_result == 8:
推荐阅读
- android - Google 健身 - 失去与数据的连接
- python - Kucoin Api v2 Python 下新订单代码 - {'code': '400005', 'msg': 'Invalid KC-API-SIGN'}
- javascript - 如何仅从 API 字段中提取某些数据?
- kubernetes - 从 Kubernetes 集群中的特定 POD 访问休息方法
- .net-core - 如何在 .NET Core Identity 中支持多个公司的一个帐户?
- javascript - 递归映射的嵌套 JSON,但组件不呈现
- python-3.x - 如何在存储库中获取 Python 代码的版本?
- python - 雅可比矩阵的伪逆问题
- javascript - webpack 没有创建输出文件
- google-sheets - 如何使用正则表达式删除中间子字符串?