views:

60

answers:

2

I know how to write shell extesions in python.
The drawbacks are

  • it does not work on 64 bit Windows
  • I am unsure how creating a python process everytime something “happens” reduces performance.

I know how to write shell extensions using .Net (C#)
The drawbacks are

I have seen shell extenions written in (free)pascal.

  • Are there drawbacks using this approach
  • Does this work with 64bit windows.

Obviosly one can write shell extensions using c or c++

  • Well... I am still trying to understand com in c and c++....

What other optios are there, what other languages ?
Do they have drawbacks?

A: 

because explorer is running all the time, please use a language that is efficient and close to the OS as possible. C or C++ please.

tenfour
isn't pascal (or vb6, which I forgot above) equally fast when compiled?
Nils
vb6 definitely not. i don't know anything about pascal. but i'm more interested in relaying the concept than the specific language to use.
tenfour
I'm surprised i'd get voted down for supporting the same advice as the blog link in the OP
tenfour
+1  A: 

Since .NET 4 came along, MS now do support .Net for Shell Extensions, since the major problem (cannot host multiple CLR versions in shell) has been solved through the side-by-side mechanism:

With the ability to have multiple runtimes in process with any other runtime, we can now offer general support for writing managed shell extensions—even those that run in-process with arbitrary applications on the machine. We still do not support writing shell extensions using any version earlier than .NET Framework 4 because those versions of the runtime do not load in-process with one another and will cause failures in many cases.

Damien_The_Unbeliever
ok, nice... Doesn't make it faster, though? Or is the lack of performanc just my imagination?
Nils
I wouldn't expect performance issues to arise - and your presumption of a new CLR process being spun up for every action would seem to be incorrect.
Damien_The_Unbeliever
good to know. thanks Damien.
Nils