一時ハンドルで問題が発生しました。HWndから永久CWndを取得
私がここで読んだ通り、What is the lifetime of a CWnd obtained from CWnd::FromHandle? CWnd::FromHandle()
は、一時的なハンドルを作成します。私たちの計画は、後で使うためにハンドルを保存することでしたが、これは機能しません。
CWnd::FromHandlePermanent()
も試しましたが、これは何とかnullポインタを返します。
また、mpWnd->Attach(mhWnd);
がアクセス違反の例外をスローしました。
可能であれば、CWnd
を保存する場合は、HWnd
ではなくCWnd
を保存し、CWnd
が必要な場合はFromHandle()
と呼び出してください。 誰かがこれに対する解決策を知っていますか?
CWndはハンドルと同じではなく、単なるWindowオブジェクトポインタです。ウィンドウが開いている限り "実際の"ハンドルはhWndです –
あなたはすでに解決策を知っています。なぜあなたはそれを使用しないのですか? – IInspectable