I was looking for a way to add a menu item on right click for special files until I found this article SharpShell
I was able to write my modified shell and to register it using ServerManager.exe.
How can i register my shell in a system when the user installs my program with a setup?