Hi, this is how I do it: - I have my program contain a menu item to install itself as a possible tool to open all files and folders - when that menu item is clicked, it creates two registry entries: HKEY_CLASSES_ROOT\AllFilesystemObjects\Shell\myProgName.ContextMenu (Default)=text to show in context menu HKEY_CLASSES_ROOT\AllFilesystemObjects\Shell\myProgName.ContextMenu\Command (Default)=myProgPath %1 myProgPath can be obtained as Environment.GetCommandLineArgs()[0] %1 means append the file/folder selected, and will result in a command line arg For manipulating the registry, I use P/Invoke to OpenKey, CloseKey, and RegSetValueEx since I want my code to also work under .NET 1.x; but starting with 2.0 there are easier ways to do it. BTW the (Default) key is accessed with name=null. :)
Luc Pattyn [My Articles]