python+;win32:检测窗口拖动
是否有方法检测何时使用python/pywin32在windows中拖动不属于我的应用程序的窗口?我想对其进行设置,以便在拖动标题与桌面边缘附近的图案相匹配的窗口时,鼠标松开时,窗口会捕捉到边缘。无论何时释放鼠标,我都可以编写代码将所有具有该标题的窗口捕捉到桌面上,但我只想移动正在拖动的特定窗口。到目前为止,我看到的唯一可能的解决方案是使用python+;win32:检测窗口拖动,python,winapi,pywin32,windows,Python,Winapi,Pywin32,Windows,是否有方法检测何时使用python/pywin32在windows中拖动不属于我的应用程序的窗口?我想对其进行设置,以便在拖动标题与桌面边缘附近的图案相匹配的窗口时,鼠标松开时,窗口会捕捉到边缘。无论何时释放鼠标,我都可以编写代码将所有具有该标题的窗口捕捉到桌面上,但我只想移动正在拖动的特定窗口。到目前为止,我看到的唯一可能的解决方案是使用SetWindowsHookEx。Pywin32没有接口,所以我想我必须这样做: 编写一个C扩展模块。它有一个类似于setCallback的函数,它在发生拖
SetWindowsHookEx
。Pywin32没有接口,所以我想我必须这样做:
- 编写一个C扩展模块。它有一个类似于
的函数,它在发生拖动事件时调用python函数李>setCallback
- 将包含实际钩子的C DLL写入windows。这个DLL将不得不调用当前设置的python函数
import pyHook
def mouseUp(event):
if event.Injected: return True
print "Mouse went up"
return True
hookManager = pyHook.HookManager()
hookManager.MouseLeftUp = mouseUp
hookManager.HookMouse()
您还需要一个主循环,因为我已经在使用gtk
,或者您可以执行以下操作:
import pythoncom
pythoncom.PumpMessages()
请返回并发布此问题的任何更新。我很好奇你能想出什么来。@Mark:看看我的新答案,看起来好像有人帮我做了部分工作=)