I was looking to create a couple of new shell extensions and I started looking at what was involved when I came across EZShellExtensions.NET. This new product from Sky Software makes it easy to do any of the following:
Contextmenu extensions including owner drawn menu items
Icon extensions
Overlay icon extensions
Property sheet extensions
Column extensions
Infotip extensions
Thumbnail extensions
Dragdrop context menu extensions
Directory background context menu extensions
Drop extensions
SendTo extensions
Disk Cleanup extensions
Copy hook extensions
Taskbar bands
Internet Explorer toolbands
Internet Explorer vertical and horizontal bands.
EZShellExtensions.NET also provides integration with all versions of Visual Studio including 2005.
Adding a context menu item to Windows Explorer is as easy as this:
protected override bool OnInitialize()
{
MenuItems.Add("Register Extension");
return true;
}
protected override bool OnExecuteMenuItem(System.Windows.Forms.MenuItem item, SkySoftware.EZShellExtensions.ExecuteItemEventArgs e)
{
if(item.Index==0)
{
string output;
string exe = Path.Combine(GetInstallDir(),"RegisterExtension.exe");
string args = "-i \"" + TargetFiles[0]+ "\"";
output = RunProcess(exe,args);
MessageBox.Show(output);
}
return true;
}