2010-08-18 7 views
5

Ich weiß, wie Shell-Erweiterungen in Python schreiben.
Die Nachteile sindWelche Sprachen Windows-Shell-Erweiterungen zu schreiben

  • es nicht auf 64-Bit-Windows-funktioniert
  • Ich bin nicht sicher, wie ein Python-Prozess jedes Mal etwas „passiert“ reduziert die Leistung zu schaffen.

Ich weiß, wie Shell-Erweiterungen zu schreiben, mit .Net (C#)
Die Nachteile sind

Ich habe shell extenions geschrieben in (free) pascal.

  • Gibt es Nachteile mit diesem Ansatz
  • diese Arbeit mit 64-Bit-Windows.

obviosly kann man schreiben Shellerweiterungen mit C oder C++

  • Nun ... Ich bin immer noch versuchen, com in c und C++ zu verstehen ....

Welche anderen optios Gibt es welche anderen Sprachen?
Haben sie Nachteile?

+0

Es gibt keine "C/C++" - Sprache. COM ist in C extrem schmerzhaft, aber in C++ durchaus machbar. – MSalters

+1

MSalters: Ich denke, Sie haben mich auf die Verwendung von "c/C++" als eine Art von Sprache verwiesen - also habe ich das korrigiert. – Nils

+0

COM-Programmierung ist ein bisschen expliziter, aber vielseitiger in C tatsächlich. –

Antwort

4

Da .NET 4 kam, MS tut jetzt .Net für Shell-Erweiterungen, da das Hauptproblem unterstützen (kann nicht mehr CLR-Versionen in Shell Host) durch den side-by-side Mechanismus gelöst wurde:

Mit der Fähigkeit, mehr Runtimes in einem Prozess mit jeder anderen Laufzeit zu haben, können wir nun allgemein Unterstützung für verwaltete Shell Schreiben Erweiterungen, selbst jene, die in-Verfahren mit beliebigen Anwendungen auf der Maschine laufen. Wir tun noch nicht Unterstützung von Erweiterungen Shell jede Version vor .NET Framework 4 , da diese Versionen von die Laufzeit im Prozess nicht geladen werden mit miteinander und verursachen Ausfälle in vielen Fällen.

+0

abgelehnt werden würde, ok, schön ... macht es aber nicht schneller? Oder ist der Mangel an Leistung nur meine Vorstellungskraft? – Nils

+1

Ich würde nicht erwarten, dass Leistungsprobleme auftreten - und Ihre Vermutung, dass ein neuer CLR-Prozess für jede Aktion erstellt wird, scheint falsch zu sein. –

+0

gut zu wissen. Danke, Damien. – Nils

0

Da der Explorer die ganze Zeit läuft, verwenden Sie bitte eine Sprache, die so effizient und nah wie möglich am Betriebssystem ist. C oder C++ bitte.

+0

ist nicht Pascal (oder vb6, die ich oben vergessen habe) gleich schnell, wenn kompiliert? – Nils

+0

vb6 definitiv nicht. Ich weiß nichts über Pascal.aber ich bin mehr daran interessiert, das Konzept zu vermitteln als die spezifische Sprache zu verwenden. – tenfour

+0

Ich bin überrascht, dass ich für die Unterstützung des gleichen Rates wie der Blog-Link in der OP – tenfour