gpt4 book ai didi

win32gui 中的 Python PyHANDLE 对象

转载 作者:太空宇宙 更新时间:2023-11-03 15:28:17 25 4
gpt4 key购买 nike

我一直在尝试创建一个可以覆盖另一个应用程序的透明窗口。我发现 win32 扩展有点乱,有 win32ui、win32gui、winxpgui 等,有些令人困惑。

无论如何,我正在尝试将窗口句柄传递给此函数 win32gui.UpdateLayeredWindow

它想要的第一个参数是句柄,作为 pyhandle 类型。

所有查找窗口句柄的方法,都返回一个int,而不是pyhandle类型。甚至来自相同模块的那些。 win32gui.findwindow(None, "windowtitle") 查找并返回我想要的窗口的句柄,但仅限于 int 形式,而不是 PyHandle。

这是对象的文档。 http://docs.activestate.com/activepython/2.5/pywin32/PyHANDLE.html

这是 findwindow 方法的文档。docs.activestate.com/activepython/2.5/pywin32/win32gui__FindWindow_meth.html

这是不接受 int 的方法的文档。docs.activestate.com/activepython/2.5/pywin32/win32gui__UpdateLayeredWindow_meth.html

我什至尝试过使用 WX 来创建和查找窗口句柄,它也只返回 int。

还有另一个需要句柄的函数,由同一个人编写,它接受 int 作为句柄。 win32api.SetWindowLong

问题是,有什么方法可以从我收到的 int 创建 PyHANDLE 对象吗?我想不通。

最佳答案

正如 PyHANDLE 的文档所说,“大多数接受句柄对象的函数也接受整数”。您是否尝试过将整数传递给 UpdateLayeredWindow?

基本上,PyHANDLE 只是一个整数的薄包装,具有额外的属性,当 PyHANDLE 对象消失时,将调用 win32api.CloseHandle。

关于win32gui 中的 Python PyHANDLE 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3538976/

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