gpt4 book ai didi

python - wxPython - 使用 wx python 模块获取现有的 windowDC/句柄?

转载 作者:行者123 更新时间:2023-11-30 23:31:23 24 4
gpt4 key购买 nike

我一直在研究在 Windows 7 上使用 wx python 包。具体来说,我希望能够获取现有窗口(即不是由 python 程序打开的窗口)的图像数据。看来我可以通过获取窗口的设备上下文、创建兼容的设备上下文、复制位图,然后按照我喜欢的方式使用它来完成此操作。问题是我似乎找不到获取现有窗口的设备上下文(或句柄)的方法。我只看到使用 wx 创建的 python 程序从 windows 获取它们的方法。我怎样才能做到这一点?非常感谢!

最佳答案

wx 可能没有办法做到这一点。

您需要的 Windows API 非常简单,您可以通过 win32api 使用它们(如果您愿意,也可以通过 ctypes,但这需要更多工作)。

首先,我不知道你打算如何识别你想要的窗口。如果你有它的类和名称,你可以直接 FindWindow (或者,如果它可能不是顶级窗口, FindWindowEx )。如果您想通过其他方式搜索,您可能需要调用EnumWindow (如果您不确定它是顶级窗口,则递归地加上EnumChildWindows)。

此时,您只需调用wx.Windows.AssociateHandle即可将wx.Window对象附加到HWND。

如果您出于某种原因无法做到这一点,GetDC为您提供 HWND 的显示上下文。然后,您可以创建一个内存 DC,或者获取 wx 窗口下的 native 窗口的 DC,以及 BitBlt从一个到另一个。

关于python - wxPython - 使用 wx python 模块获取现有的 windowDC/句柄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19991391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com