自分のWinFormのWindowsタスクバーからアドレスツールバーを表示しようとしています。私はアドレスtoobar({01E04581-4EEE-11d0-BFE9-00AA005B4383}
)のCLSIDを取得することができ、それにIDeskBand
の参照を得ることができます。しかし...そして何?ホストIDeskBandとWindowsフォーム
Guid bandCLSID = new Guid("{01E04581-4EEE-11d0-BFE9-00AA005B4383}");
Type bandType = Type.GetTypeFromCLSID(bandCLSID);
IDeskBand deskband = (IDeskBand)Activator.CreateInstance(bandType);
私はAxHost
でそれをホストしようとしましたが、アドレスツールバーは、ActiveXコントロールではありません。私は
(deskband as IOleObjectWithSite).SetSite(various interfaces);
または
(deskband as IDockingWindow).ShowDW(true);
だけでなく、他のインタフェースとそのメソッドを呼び出して、さまざまな試みたが、私は何もどこでも私を取得するようです。そのツールバーがどこにでも現れるのを実際に見ることができれば嬉しいです。しかし、私はIDeskBand
参照を持つこととそれを私のWindowsフォームに差し込むこととの間のギャップを橋渡しすることはできません。
誰もこれを以前に試みたことがありますか?
アドレスツールバーのDeskBandから、必要な機能についてさらに詳しく説明できますか?このインターフェイスはWindows 7で廃止されました。今後のバージョンのWindowsではサポートされない可能性があります。 –
私はAddress deskbandとLinksやカスタムウィジェットのような他のデスクバンドを私のWinFormに入れて、タスクバーと同じように表示させたいと思っています。 – deanis
それで、私が実装したいと思うIDeskBandではないかもしれません。私はかなりAddress and LinksツールバーがDeskBand COMオブジェクトであることを確信しています。そのため、私は 'IDeskBand'にジャンプしました。だから私が実際にやろうとしているのは、対象のCOMオブジェクトを照会することです。これは、一致するGUidを取得するために行うことができ、 'Activator.CreateInstance'を使用してインスタンス化します。私のために物事が崩れているところは、WinFormでCOMオブジェクトをホストするためのジャンプをしようとするときです。 – deanis