python - 如何在未聚焦/最小化的窗口中模拟鼠标/键盘事件?

标签 python windows winapi mouseevent

我正在尝试使用 Python 进行一些自动化,但我想执行它并且仍然能够自由地使用我的机器。因此,我使用 PyWin32 来模拟一些点击和键入,但只有当我在窗口打开并聚焦时运行脚本时,它才有效。

有一种方法可以使我的脚本仅聚焦在一个窗口上,并且仍然能够单击该窗口而无需控制鼠标,即使该窗口没有聚焦(如果它在最小化时工作,这是最好的) !)?

最佳答案

我不知道 PyWin32 包,但从 win32 api 的角度来看,事情应该很容易。 获取该窗口的 HWND 并将您想要的事件发布 (PostMessage) 到该窗口。

例如:WM_LBUTTONDOWN & WM_LBUTTONUP、WM_RBUTTONDOWN & WM_RBUTTONUP、WM_MOUSEMOVE...

查看 win32 帮助如何设置特定事件的 wParam 和 lParam 数据。

例如,我就是这样控制《暗黑破坏神 3》的;)

编辑:
无需为此聚焦或最大化

编辑编辑:
也许您应该关注 autoit,这是一种广泛使用的窗口自动化脚本语言。我从未使用过它,但在这种情况下经常读到这个名字。它也可以从 python 中使用。

关于python - 如何在未聚焦/最小化的窗口中模拟鼠标/键盘事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22214115/

相关文章:

c++ - 我如何使用 GUI 为 Windows 制作一个可移植的 C++ 程序,独立于 .NET 或其他库?

python - Gtk+ FlowBox 选择不起作用

python - 嵌入在 C++ 中的 Python 在十六进制编辑器中是什么样子的?

python - 设置 kivy 整数的最小值和最大值

c++ - 读者作家 - 作家线程总是卡在多个读者线程中

c++ - steady_clock 在 windows/cygwin 上是否只有 10ms 分辨率?

c++ - 试图创建 HIMAGELIST,我在这里做错了什么?

python 属性装饰器

c - CGO对“TIFFGetField”的 undefined reference

c++ - 仅禁用 win32 ListView 中的特定列表项