动态添加/删除Windows资源管理器右键菜单及挂接操作

来源:互联网 发布:思维方式知乎 编辑:程序博客网 时间:2024/05/16 08:25

void AddRegKeys()//注册右键菜单
{
 CRegKey rk1,rk11,rk2,rk22,rk3,rk33,rk4,rk44,rk5,rk55,rk6,rk66;
 char windowsdir[128];
 GetWindowsDirectory(windowsdir,128);
 CString windir = windowsdir;

 rk1.Create(HKEY_CLASSES_ROOT,"Folder//shell//RightPop");
 rk1.SetValue("右键菜单(&I)");
 rk11.Create(HKEY_CLASSES_ROOT,"Folder//shell//RightPop//command");
 rk11.SetValue(windir+"//右键菜单要调用的程序.exe -E /"%1/"");//-E是参数,用GetCommandLine()可以得到在哪个文件上调用的这个菜单以及这个参数
}

void DeleteRegKeys()//删除右键菜单
{
 RegDeleteKey(HKEY_CLASSES_ROOT,"Folder//shell//RightPop//command");
 RegDeleteKey(HKEY_CLASSES_ROOT,"Folder//shell//RightPop");
 RegDeleteKey(HKEY_CLASSES_ROOT,"*//shell//RightPop//command");
 RegDeleteKey(HKEY_CLASSES_ROOT,"*//shell//RightPop");

}

原创粉丝点击