質問

私は別のアプリケーションをオーバーレイする透明なウィンドウを作成しようとして遊んでいます。 Win32拡張機能は少し混乱していることがわかりました。Win32UI、Win32Gui、Winxpguiなどがあります。多少混乱しています。

とにかく、私はこの関数のためにハンドルをウィンドウに渡そうとしていますwin32gui.updateLayeredwindow

それが望む最初の議論は、ハンドルタイプとしてのハンドルです。

ウィンドウのハンドルを見つけるためのすべての方法は、すべてが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を使用してWindows用のハンドルを作成して見つけようと試みましたが、INTのみを返します。

同じ人によって書かれたハンドルを必要とする別の関数があり、INTをハンドルとして受け入れます。 win32api.setwindowlong

質問は、私が受信したINTからpyhandleオブジェクトを作成する方法はありますか?私はそれを理解することができません。

役に立ちましたか?

解決

Pyhandleのドキュメントが言うように、「ハンドルオブジェクトを受け入れるほとんどの関数も整数を受け入れます」。整数をupdateLayeredWindowを渡してみましたか?

基本的に、pyhandleは整数の周りの薄いラッパーであり、pyhandleオブジェクトが去るとwin32api.closehandleが去るという特性があります。

他のヒント

pywintypes.handle

pyhandle = handle()

新しいハンドルオブジェクトを作成します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top