制作步骤:
1.菜单制作
2.注册表的操作
3.注册工具进行注册 regasm.exe
有意思是地方是,在一个项目安装的过程中,注册工具会自动去查找解决方案中要注册的内容。初步判断是根据类的不同类型来识别的。
菜单制作类的类型与继承类型
AppContextMenu : IShellExtInit, IContextMenu, IPersistFile, IExtractIcon, IQueryInfo
有一点要注意的地方是:在程序继承installer进行卸载的时候要去操作注册表
const string GUID_DSTRING = "425C980B-513A-443d-863B-DD12B56CD503";
const string GUID = "{" + GUID_DSTRING + "}";
rk = Registry.LocalMachine.OpenSubKey("SOFTWARE//Classes//CLSID", true);
rk.DeleteSubKeyTree(GUID);
rk.Close();
卸载右键菜单的部分内容,不然有可能为以后菜单的显示埋下隐患。隐患经常出现在测试阶段。尤其是版本在变更的时候。去注册右键菜单,registry中就会出现脏记录,从影响菜单显示
注册表的操作中要注意的一点是,右键菜单注册项保存的位置。
详细制作过程如下: