win32gui中的Python PyHANDLE对象

我一直在努力创建一个覆盖另一个应用程序的透明窗口。我发现win32扩展有点乱,有win32ui,win32gui,winxpgui等等有点令人困惑。 无论如何,我正试图将一个句柄传递给一个窗口到这个函数win32gui.UpdateLayeredWindow 它想要的第一个参数是一个句柄,作为一个pyhandle类型。 查找窗口句柄的所有方法都返回int,而不是pyhandle类型。甚至是来自相同模块的那些。 win32gui.findwindow(无,“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来创建和查找windows的句柄,它也只返回int。 还有另一个需要句柄的函数,由同一个人编写,并且它接受int作为句柄。 win32api.SetWindowLong 问题是,有没有办法从我收到的int创建一个PyHANDLE对象?我无法弄清楚。     
已邀请:
正如PyHANDLE的文档所说,“接受句柄对象的大多数函数也接受整数”。你试过传递UpdateLayeredWindow整数吗? 基本上,PyHANDLE只是一个整数的薄包装器,具有额外的属性,当PyHANDLE对象消失时,将调用它的win32api.CloseHandle。     
pywintypes.HANDLE PyHANDLE = HANDLE() 创建一个新的HANDLE对象     

要回复问题请先登录注册