[ Shadowed @ 06.08.2003. 00:37 ] @
Hteo sam da pravim toolbar za Internet Explorer ali ne znam generalno sta bi trebalo da uradim pa ako moze neki hint (stvar se odnosi na VB.NET). Moze i u VB6.
Trazio sam po netu ali nisam uspeo da nadjem nista korisno. Na MS-ovom sajtu sam nasao
http://msdn.microsoft.com/libr...orm/commctls/faq/ietoolbar.asp
http://msdn.microsoft.com/libr...orm/commctls/faq/iemenubar.asp
http://msdn.microsoft.com/libr...mmersguide/shell_adv/bands.asp
ali su tu opisani postupci sa API-jima i VC++ a to mi nije bas od neke pomoci.
[ Shadowed @ 07.08.2003. 16:25 ] @
Anybody? Tata?
[ Dragi Tata @ 07.08.2003. 17:57 ] @
Sorry...
[ havramm @ 15.06.2004. 13:00 ] @
Mozda ti nesto ovako pomogne?
[ Shadowed @ 23.07.2004. 00:23 ] @
Duze vreme nisam bio u prilici da isprobam.
Ne, nije mi pomoglo. Bar ne potpuno. Koliko god pokusavao da napravim ekvivalent u VB-u nije mi uspelo (u C#-u jeste, samo sam kompajlirao i radi). Prvi projekat BandObjectLib sam uspeo da konvertujem i kompajliram ali ovaj drugi projekat koji je zapravo sam toolbar mi ne uspeva.
Ne mogu da registrujem komponentu. Problem je sa Assembly-em.
Trazi da bude strong neme a ne uspevam to da izvedem.
Ako neko ima vremena i volje da pogleda i kaze sta bih mogao da uradim bio bih zahvalan.
Mogao bih da koristim postojeci kod u C#-u i nadogradjujem ga ali nemam nameru da ucim C# zbog toolbar-ova.
[ mmix @ 23.07.2004. 12:19 ] @
Ne znam baš kako da ti pomognem oko toolbar-a, ali mogu da ti dam dva linka koja će ti pomoći oko kreiranja string named assembly-a, iskoristi varijantu sa atributima, da se ne bi mnogo cimao oko AL-a:

Signing an Assembly with a Strong Name
Creating a Key Pair
[ Shadowed @ 23.07.2004. 17:31 ] @
Nasao sam to u MSDN-u kasnije. Nije islo. U onom primeru vec postoji .snk fajl ali nisam mogao da ga koristim po uputstvu sa prvog linka. Prijavljivao je istu gresku.
Isto je i kada pokusam sa novim fajlom kreiranim po uputstvu sa drugog linka.

Na kraju sam uspeo da registrujem .dll pomocu regasm.exe. Ubacio sam odgovarajuci GUID u HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Toolbar i dobio u meniju svoj toolbar. Kada ga ukljucim pojavi se ali nema nista na njemu (trebao bi da bude jedan taster, na klik je msgbox).
Sad vise nemam nikakvu ideju, u cemu bi mogao da bude problem. Totalno sam se zaglavio.
[ mmix @ 23.07.2004. 18:11 ] @
Ajd ZIPuj i okači VB source, pa da vidimo, ipak je to malo specifična stvar...
[ Shadowed @ 23.07.2004. 22:33 ] @
Evo.
Samo treba posle pokretanja prepraviti referencu na BandObjectLib.dll. Ovaj fajl je dobijen kompajliranjem originalnog C# projekta sa onog CodeProject linka. Ovo sam uradio da bih bio siguran da nisam pogresio u prevodu.
U direktorijumu Register je projekat Register preuzet iz C# Solution-a i prepravljen u Notepad-u za drugacije putanje do fajlova.
Originalni C# kod nisam okacio jer je 118KB ali se moze skinuti sa CodeProject-a.
[ mmix @ 24.07.2004. 14:20 ] @
OK, kao prvo treba ti potpisan Interop.ShDocVw, njega dobiješ sa:

Code:
D:\NETProjects\IEToolbar>tlbimp d:\windows\system32\shdocvw.dll /primary /keyfile:theKey.snk /out:Interop.ShDocVw.dll


Dalje, skini komentare u assemblyinfo.vb:

Code:

<Assembly: AssemblyVersion("1.0.*")> 
<Assembly: AssemblyDelaySign(False)> 
<Assembly: AssemblyKeyFileAttribute("theKey.snk")> 
<Assembly: AssemblyKeyName("")> 


treće daj objektu njegov statički GUID, npr:

Code:

Namespace TestBars
    <Guid("8EB7FD89-C57D-4762-9856-65AE27940807"), BandObject()> _
    Public Class IEToolbar2
        Inherits BandObjectLib.BandObject


i taj GUID ubaci u registry, ne onaj od type library-a.
Automatska registracija mi nije radila, ali samo zato što si izgleda nešto pogrešio u konverziji BandObjectLib-a, pošto ga ne prepoznaje kao COM exportable i nije strong named. U svakom slučaju, pretresi još jednom taj kod, mislim da ti se tu krije neka greška, probaj samo njega da iskompajliraš u originalu (C#) pa da ga takvog referenciraš.
[ Shadowed @ 24.07.2004. 19:31 ] @
Tako sam i uradio. Kompajlirao sam taj originalni C# BandObjectLib. Probacu ovo sto si rekao...
[ Shadowed @ 25.07.2004. 01:29 ] @
Uradio sam kako si rekao. Prvo sam napravio Interop.ShDocVw.dll pomocu tlbimp.exe ali nisam bio siguran sta je trebalo sa njim da radim pa sam ga koristio za referencu u originalnom (C#) BandObjectLib koji sam ponovo kompajlirao. Kompajlirao sam ponovo i svoj IEToolbar2 (sa izmenama koje si rekao), ubacio GUID i opet ne radi.
Znaci, opet prazan toolbar. A u Design modu u VS-u prikazuje button. Evo i slike.
Palo mi je na pamet da probam sa novim projektom ali je ovo tako malo koda da bih prosto napisao to isto.

Nazalost, od sutra popodne naredne tri sedmice cu biti odsutan tako da cu morati da napravim pauzu i sa ovim (osim narednih 12h :).

Hvala na trudu.