別のアプリケーションをオーバーレイする透明なウィンドウを作成しようとして遊んでいます。私は、win32 拡張機能が少し混乱していることに気づきました。win32ui、win32gui、winxpgui などがあります。やや混乱しています。
とにかく、この関数 win32gui.UpdateLayeredWindow にウィンドウへのハンドルを渡そうとしています
必要な最初の引数は、pyhandle 型としてのハンドルです。
ウィンドウのハンドルを見つけるすべてのメソッドは、pyhandle 型ではなく int を返します。同じモジュールのものでさえ。win32gui.findwindow(None, "windowtitle") は、必要なウィンドウのハンドルを見つけて返しますが、PyHandle としてではなく int 形式でのみ返します。
ここにオブジェクトのドキュメントがあります。 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 オブジェクトを作成する方法はありますか? 私はそれを理解することはできません。