Hilfe - Suche - Mitglieder - Kalender
Vollansicht: C# Plugins schreiben...wie?
MCE-Community.de > Windows Media Center Software > Media Center PlugIns/AddIns, Hacks, Mods + ZusatzSoftware > [mceCodeZone] Programmierung > mceCodeZone - Grundlagen & Tutorials
Pharao2k
Hiho Leutz,
Da ja Mediaportal wie ich Microsoft kenne sicher sehr stark mit .NET verwoben ist, denke ich mal dass man dann mit den .NET Sprachen (wie C#) sehr gut Plugins schreiben kann, hab aber leider kein Tutorial oder ähnliches gefunden und die SDK Docu hilft einem auch nicht viel, also kennt jemand ein Tutorial wie man damit gut anfangen könnt? C# kann ich gut, ich weiß bloss nich wie der Rest so abläuft mit xpMCE.
Seebaer
Hallo

MCE ist 100% Managed Code und somit erfolgt die Einbindung externer Assemblys via Öffentliche Interfaces und Klassenvererbung. Allerdings hat MS ein sehr starke Code Security eingebaut und sperrt so den Zugriff suf Funktionen. Ich persönlich finde die SDK hervoragend Dokumentiert. Also Assemblys für MCE zu machen ist Recht einfach, so lange man sich an die Teilung des Systems im klaren ist GUI und Services hält. Samples gibt es auch genug. Also viel Erfolg dabei.

Grüsse

Christian
scendix
die oberfläche muss in html erstellt sein, um vom mce korrekt angezeigt zu werden. aus dem html kanst du dann auf active-x-objekte zugreifen, die in jeder beliebigen sprache programmiert worden sein können (auch c#).
oder aber du machst es ganz anders und benutzt z.b. PHP, um deine oberfläche/plugins zu machen (wie ich; ein steiniger weg smile.gif ).
die möglichkeiten sind unbegrenzt!
bei konkreten fragen: immer her damit.

scendix
Pharao2k
für php brauch ich doch´n apache-server m. php-plugin, is das nichn bissl umständlich?
Seebaer
ZITAT(scendix @ 12.02.2005, 23:43)
die oberfläche muss in html erstellt sein, um vom mce korrekt angezeigt zu werden. aus dem html kanst du dann auf active-x-objekte zugreifen, die in jeder beliebigen sprache programmiert worden sein können (auch c#).
oder aber du machst es ganz anders und benutzt z.b. PHP, um deine oberfläche/plugins zu machen (wie ich; ein steiniger weg  smile.gif ).
die möglichkeiten sind unbegrenzt!
bei konkreten fragen: immer her damit.

scendix

Dies ist nicht Korrekt. ADDIN's können nur in Managed Code (.NET) geschrieben werden. MSAS kann dazu noch in Unmanage C++ erstellt werden. PHP kann für beide nicht genutzt werden (wegen COM Import/Managed Code).
Grüsse

CS

Nochwas, (ohne jemand auf die Füße zutretten) der weg über Webserver ist zwar einfach, aber nicht für jedes Plugin gedacht. Ist doch auch total schwachsinnig via lokalen mce auf lokalen Webserver zugreifen. In MCE ADDIN's ist alles enthalten ,laufen im Context vom MCE und bietet wesendlich mehr möglichkeiten.
maltic
ZITAT
Dies ist nicht Korrekt. ADDIN's können nur in Managed Code (.NET) geschrieben werden. MSAS kann dazu noch in Unmanage C++ erstellt werden. PHP kann für beide nicht genutzt werden (wegen COM Import/Managed Code).
Grüsse



Sehe ich nicht so. In Scendix´ Beitrag ist nicht die Rede von AddIns sondern von COM-Komponenten, die vom HTML Frontend aufgerufen werden, um mehr Möglichkeiten bzw. Schnittstellen zur Verfügung zu stellen. Und COM-Komponenten können nunmal in VB, C++, C# usw. geschrieben werden.

AddIns - völlig korrekt, müssen Managed Code sein - davon ist hier allerdings nicht die Rede.
olcay
Jap genau. Du kannst ruhig ein COM+ Objekt in C# schreiben und es dann über JavaScript in deiner HTML Oberfläche verwenden. smile.gif So mach ich das zumindest. Ich hab mir einfach eine Klassenbibliothek erstellt und draus ein COM+ Object gemacht. Dann lade ich es via JavaScript und benutze es im HTML Code. Jeder hat irgendwo seinen eigenen Weg gefunden... schau halt mal was für Dich das beste ist.

Viel Erfolg
Seebaer
Hallo

mal eine Frage: Warum sollte man miit COM den MCE Context umgehen, ob wohl man mit MCE Addin's (im Context) das gleiche mache kann? Ich habe in der SDK nicht einen Hinweis gefunden "Machen Sie sich ein COM Object und greifen Sie in der Webseite darauf zu.". Also, man sollte sich an die Vorgaben halten und nicht "Unsupported" Wege suchen. Beim nächten Update soll ja noch alles Funktionieren. Es könnte nähmlich sein das die Security Richtline geändert wird und COM im Browser (MCE) nicht mehr erlaubt ist (Was auch logisch ist bei den ganzen externen Websites für MCE). Nur um das Klarzustellen, man kann in HTML Seiten mit Addins kommunizieren. Siehe z.B SDK AddIns- HostControl. Addins sind somit euere COM Object's wenn ihr so wollt.



Grüsse

Christian
Peacemaker
Hallo

@Seebaer


ZITAT
Warum sollte man miit COM den MCE Context umgehen, ob wohl man mit MCE Addin's (im Context) das gleiche mache kann?


weil es erst Media Center 2005 kann so müsste man 2 plugins schreiben, oder man schließt die 2004er besitzer aus wacko.gif


ZITAT
Es könnte nähmlich sein das die Security Richtline geändert wird und COM im Browser (MCE) nicht mehr erlaubt ist


eine regestrierte und sichere dll kann die IE Security Richtlinie selbst ändern,

cya
Seebaer
Hallo
ZITAT
weil es erst Media Center 2005 kann so müsste man 2 plugins schreiben, oder man schließt die 2004er besitzer aus  wacko.gif

2004? Kenne ich nicht und da wr das so, von MS, vorgesehen mit COM?

ZITAT
eine regestrierte und sichere dll kann die IE Security Richtlinie selbst ändern,


Ach Ja, wieviele Zeilen Code darf ich nutzen? 1. Gut hier ist Sie:
ProcessUrlAction(...., URLACTION_ACTIVEX_RUN,...) { return URLACTION_DISALLOW; };
Danach geht nichts mehr. Da könntest du Bill Gates sein und das ActiveX signiert (was auch immer). MCE wüde trotzdem gehen, die nutzen nähmlich "window.external".


Grüsse

Christian

worum es mir geht, ist leuten nicht den falschen weg zu zeigen. Activex ist definitiv der falsche weg. Bei Microsoft denken sie nur noch über eins bei Activex nach und zwar wie sie es wieder los werden (Viren,Würmer Trojana "Geister die ich rief").
Peacemaker
Hallo @Seebaer

ja verstehe ja dein anliegen und gebe dir recht, drum sollten wir und da nicht so hineinsteigern !

ich bin froh das ich mit meinen wenigen VB kenntnissen überhaupt eine Com Dll auf die Beine bekomme,

cya
maltic
@Seebaer:

Irgendwie schnalle ich das nicht:

ZITAT
Nur um das Klarzustellen, man kann in HTML Seiten mit Addins kommunizieren. Siehe z.B SDK AddIns- HostControl. Addins sind somit euere COM Object's wenn ihr so wollt.


In einem AddIn kann ich z.B. über HostContro.Dialog im MCE einen Dialog darstellen, das heisst, ich kommuniziere aus dem AddIn mit der MCE-Oberfläche.

Wie soll das andersum gehen? Nehmen wir ein ganz einfaches Beispiel: im SDK gibt´s das Screensaver Sample. In diesem Sample möchte ich jetzt eine Methode basteln, die mir die Summe zweier Zahlen zurückgibt, die ich dann in einem HTML-Frontend mit

document.write(.......Summe(2,3));

ausgeben möchte. Alles ohne COM, nur mit dem (natürlich installierten) AddIn. Wie geht das?

Gruß,
M.
Peacemaker
ZITAT(maltic @ 19.02.2005, 19:35)
Beispiel: im SDK gibt´s das Screensaver Sample. In diesem Sample möchte ich jetzt eine Methode basteln, die mir die Summe zweier Zahlen zurückgibt, die ich dann in einem HTML-Frontend mit

document.write(.......Summe(2,3));

ausgeben möchte. Alles ohne COM, nur mit dem (natürlich installierten) AddIn. Wie geht das?

Gruß,
M.

wenn das geht stoppe ich meine bisherigen Projekte und lerne ich C# oder VB.Net wink.gif

so ein Addin ist schon cool aber dennoch sollte MS noch was mehrbringen,

1. API support für MCE2004
2. endlich mal Plugins(Addins) gestatten die Direktx Oberfläche zu benutzen,

cya
maltic
Warum installierst du eigentlich kein MCE 2005?
Peacemaker
ZITAT(maltic @ 19.02.2005, 20:53)
Warum installierst du eigentlich kein MCE 2005?

blink.gif


sorry verstehe dich nicht maltic, hat doch nichts mit mir zutun, es geht doch darum wenn ich ein addin mache dann ist es nur mit MCE2005 nutzbar,

und diese Version haben bestimmt noch nicht viele,

so ist es besser erstmal ActiveX zu nutzen bis Media Center offener wird, wenn man sein plugin nur für MCE2005 schreibt ist das plötsinn oder!

cya Peacemaker
maltic
Man könnte ja mal eine Umfrage starten, wer 2004 hat und wer 2005 ... würde mich schon mal interessieren ....
maltic
Hier ist sie:

http://www.mce-community.de/forum/index.ph...t=ST&f=2&t=3642
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2012 Invision Power Services, Inc.