Vlastní panel do Průzkumníka   zodpovězená otázka

VB.NET

Zdravím,

snažím se vytvořit malou komponentu, která by měla být součástí Traye či Průzkumníka. V tomto článku: http://www.codeproject.com/KB/shell/dotn... Jsem našel řešení, ovšem nedaří se mi to rozběhat. Kompilace proběhne v pořádku, ale v Průzkumníkovi, potažmo Trayi se mi panel nezobrazí (ani v nabídce panelů). Pokud máte ideu proč nefunguje toto řešení nebo jak tu svou komponentu můžu do Traye dostat, dejte mi prosím nějakou odpověď.

Předem děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nejsem si jistý jestli víte co je to System Tray a Shell Extension, potom není jasné co chcete vlastně udělat. System Tray (česky Oznamovací oblast) je oblast v pravé části Hlavního panelu, na kterém jsou například Hodiny a Ovládání hlasitosti. Chcete-li vytvořit ikonu v této Oznamovací oblasti a z ní mít přístupnou nějakou nabídku tak potom není problém, k tomu se používá komponenta System.Windows.Forms.NotifyIcon. Shell Extension je rozšíření operačního systému, které se nějakým způsobem promítne do standardního uživatelského rozhraní Windows. Běžně se to používá například u různých komprimačních programů jako rozšíření nabídky v Průzkumníku. Shell Extension rozhodně není nic pro začátečníky, protože vyžaduje znalosti Win32. Nemá smysl se ze začátku vrhat hned na ty nejsložitější věci. Pro základní porozumění Shell Extensionů můžete zkusit třeba toto:

http://www.codeproject.com/KB/cs/datepar...

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Pak máte pravdu, jaksi si pletu názvy, myslel jsem samozřejmě hlavní panel. A chci se pokusit udělat něco podobného jako je panel program Windows Media Player do hlavního panelu.

Ta knihovna z článku co jsme posílal se zdála jako dobrý wrapper, takže jsem myslel, že akorát přidám assembly do GAC a nějak jí zaregistuji, aby bylo možné ji přidat do hlavního panelu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

S BandObjecty jsem si taky hrál a ve Windows XP mi to fungovalo. Ve Windows Vista jsem to už nerozběhal, postup stejný, zaregistroval jsem to do GAC, ale stejně to nešlo.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Zvláštní, nicméňe obešel bych se bez podpory OS Vista, ale mě se nedaří rozběhat ten BandObject ani v XP. Kompilátor dostává správné parametry, ale ne a ne mi nabídnout komponentu k zobrazení v hlavním panelu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Postupoval jste přesně podle návodu na CodeProjectu? Je Assembly skutečně v Global Assembly Cache a v Registru jako COM rozhraní? Doporučuji zkontrolovat.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Jak jsem zjistil tak ne, nevím, kde dělám chybu, ale navzdory správným argumentům vůči kompiátoru se assembly do GAC neumístí. Na tu registraci jako COM rozhraní jsem zapomněl. Přepisuji článek z C# do VB a zřejmě proto to nepracuje jak by mělo. Děkuji za rady, zbytek musím vymyslet sám.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Do GAC se vám Assembly neumisťuje s největší pravděpodobností proto, že ji nemáte podepsanou silným názvem (Strong Name) což je podmínka.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Přidal jsem atribut na soubor silného názvu. Ten byl součástí toho archivu při stažení. Určitě jsem zapoměnl něco při konverzi do .NET, takže mi nezbývá než to zkusit rozchodit v C#, což se mi ale vůbec nechce.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jazykem to určitě nebude, je tam něco špatně při té registraci do systému.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jistě, chtěl jsem říct že je to způsobeno mým přepisem z VB do C#. Někde jsem udělal chybu a proto se to nezaregistuje, tak se to pokusím realizovat v C#.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback