C# – Integrating into Windows Explorer context menu

cexplorerfile extensionnet

I want to write a small tool, that does the following:

When you right click on a file with a certain file-extension the Windows Explorer context menu shows an additional entry.

When you click this entry a certain EXE is launched with this file as one of its parameters.

I would like to use C#/.NET 2.0 for this. If it's not possible I could also do it with C++/Win32.

My questions are:

  1. Is it possible with C# .NET 2.0?
  2. What are the necessary functions for integrating into the Windows Explorer context menu?
  3. How can I make this permanent? (I don't want to relaunch this tool after every boot)
  4. What do I have to take special care of? (different OS, security permissions, etc.)

Best Answer

You will need to access the registry and add a key under root\\File\\shell or root\Folder\\shell, depending on which items you want the menu item visible on.

Try this article at CodeProject, it's quite useful.

Edit: There's another article here which may be of help.

Related Topic