Requirement: Whenever user right clicks on any folder in windows explorer, display a new option and if user selects that option, launch your application. The below steps will add a new option on right click of any folder:
You would need to add 2 sub keys in registry at the below location:
HKEY_CLASSES_ROOT\Folder\shell
Key 1: Folder\\shell\\MyProduct
Set the value of above key and the same will be shown in the context menu. You can also add a icon to the context menu item by adding a value to the key 1 and name it "Icon" as shown below:
Icon "Path to your icon file"
Key 2: Folder\\shell\\MyProduct\\command
Set the value of above key and it will launch the application:
Eg. C:\Program Files (x86)\myProduct.exe "%1"
Here "%1" will give the path of the folder which is right clicked.
Programmatically this can be done as below:
Programmatically this can be done as below:
private static void updateRegistryToAddContextMenu()
{
string MenuName = "Folder\\shell\\MyProduct";
string Command = "Folder\\shell\MyProduct\\command";
RegistryKey regmenu = null;
RegistryKey regcmd = null;
try
{
regmenu = Registry.ClassesRoot.CreateSubKey(MenuName);
if (regmenu != null)
regmenu.SetValue("","New context menu option");
regcmd = Registry.ClassesRoot.CreateSubKey(Command);
if (regcmd != null)
{
string exePath = Application.ExecutablePath;
regcmd.SetValue("", exePath
+ " " + "\""
+ "%1" + "\"");
}
}
catch (Exception
ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (regmenu != null)
regmenu.Close();
if (regcmd != null)
regcmd.Close();
}
}
No comments:
Post a Comment