Question

I would like to know what is the process to add a custom button to the windows explorer bar programmatically? It is different in Windows 7 and 8?

Is it possible to do it in C#? Or the best way is C++?

Thanks!

enter image description here

Was it helpful?

Solution

The buttons are set in the Windows registry, under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\GUID\TasksItemsSelected and HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\GUID\TasksNoItemsSelected

Use a type of REG_SZ, and the data is a ; separated list of shell command names.

The folder GUIDs I know are:

  • 5c4f28b5-f869-4e84-8e60-f11db97c5cc7 -> General
  • 5fa96407-7e77-483c-ac93-691d05850de8 -> Videos
  • 7d49d726-3c21-4f05-99aa-fdc2c9474656 -> Documents
  • 94d6ddcc-4a68-4175-a374-bd584a510b78 -> Music
  • b3690e58-e961-423b-b687-386ebfd83239 -> Pictures
  • 5f4eab9a-6833-4f61-899d-31cf46979d49 -> Other libraries

The tasks you can pick are from the registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell

You can add plain executables to this list by using the command subkey, and put the exe command in the data field. Have a look around for examples.

Happy hunting.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top