Adres araç çubuğunu Windows Görev Çubuğundan kendi WinForm'umda göstermeye çalışıyorum. Adresinin ({01E04581-4EEE-11d0-BFE9-00AA005B4383}
) CLSID değerini alabilirim ve bir IDeskBand
referansı alabilirim. Ama sonra ne?Bir Windows Formunda Host IDeskBand
Guid bandCLSID = new Guid("{01E04581-4EEE-11d0-BFE9-00AA005B4383}");
Type bandType = Type.GetTypeFromCLSID(bandCLSID);
IDeskBand deskband = (IDeskBand)Activator.CreateInstance(bandType);
Bir AxHost
onu barındıran denedim ama Adres araç bir ActiveX denetimi değildir. Ben
(deskband as IOleObjectWithSite).SetSite(various interfaces);
veya
(deskband as IDockingWindow).ShowDW(true);
yanı sıra
diğer çeşitli arabirimler ve bunların yöntemleri arama denedim ama yapmam şey her yerde beni almak gibi görünüyor. Bu araç çubuğunun herhangi bir yerde göründüğünü görürsem çok sevinirim. Ancak,IDeskBand
referansı ile Windows Formum'a takma arasındaki boşluğu kapatıyor gibi görünmüyor.
Daha önce hiç kimse buna teşebbüs etti ve sahip olduğumdan daha fazlasını aldı mı?
Adres Araç Çubuğu DeskBand'inden hangi işlevselliğe ihtiyaç duyduğunuz hakkında daha fazla bilgi verebilir misiniz? Bu arabirim Windows 7'den itibaren kullanımdan kaldırıldı, dolayısıyla Windows'un gelecekteki sürümlerinde de desteklenmeyebilir. –
Adres deskband'ını ve Bağlantılar gibi diğer masaüstü bantlarını veya hatta özel olanları WinForm'uma yerleştirmek ve Görev Çubuğunda olduğu gibi görünmelerini istiyorum. – deanis
Yani belki de uygulamak istediğim bir IDeskBand değil. Eminim Adres ve Bağlantılar araç çubukları DeskBand COM nesneleridir, bu yüzden IDeskBand'a atlamayı yaptım. Yani gerçekten yapmaya çalıştığım hedef COM nesnesini sorgulamaktır, ki bu, Activator.CreateInstance ile yaptığım eşleşen Guid'i elde etmek için yapabilirim. WinForm'umdaki COM nesnesini barındırmak için atlamayı denediğimde işler benim için ayrı düşüyor. – deanis