別のプロセスでリモートウィンドウを操作しようとしています。 CWndのラッパークラスを作成し、コンストラクター&コピーコンストラクターを作成しようとしています。したがって、私のアプリケーションは、同じHWNDを結ぶラッパークラスの複数のインスタンスを持つことがあります。複数のCWndが同じHWNDを添付できない理由
エラーは言う:
デバッグアサートに失敗しました!ここで
サンプルコードされています
CWnd wnd1, wnd2;
wnd1.Attach((HWND)1);
wnd2.Attach((HWND)1); // Error happens in this line
これは文字通りあなたがやろうとしていることですか?ハンドルに一定の値をキャストしますか? –
これは単なる例です。私はそれが本当のHWNDでも起こると信じています。 – user1633272
あなたの 'CWnd'クラスを表示してください。また、 'HWND'は参照カウントではないので、複数のラッパーが同じオブジェクトを保持している場合、' HWND'が早期に破棄されないように、所有権をネゴシエートできる必要があります。 – andlabs