最近项目中要用到c#并且要注册鼠标点击右键菜单,在这里总结了几种方法以便记录

效果图:

1,reg注册,创建.reg文件,内容如下

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\disk]  (针对文件所有文件)
"MUIVerb"="云盘"
"SubCommands"="logs;addremark;searchfile" (子菜单,对应,'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\logs')
"Position"="bottom"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\logs] (子菜单)
@="查看历史记录"
"Icon"="d:\\WindowsFormsApp1.exe"(显示图片)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\logs\command]
@="WinSshFS.exe  \"%1\" logs" (点击时调用到程序'\"%1\"和 logs'是传递到参数)

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\addremark]
@="添加备注"
"Icon"="d:\\WindowsFormsApp1.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\addremark\command]
@="WinSshFS.exe \"%1\" addremark"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\searchfile]
@="搜索文件"
"Icon"="d:\\WindowsFormsApp1.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\searchfile\command]
@="WinSshFS.exe \"%1\" searchfile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\searchtokms]
@="知识库中搜索"
"Icon"="d:\\WindowsFormsApp1.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\searchtokms\command]
@="WinSshFS.exe search searchtokms"

[HKEY_CLASSES_ROOT\Directory\shell\disk] (针对所有文件夹)
"MUIVerb"="云盘"
"SubCommands"="logs"
"Position"="bottom"

[HKEY_CLASSES_ROOT\Directory\Background\shell\disk] (针对点击文件夹空白处)
"MUIVerb"="云盘"
"SubCommands"="searchtokms"
"Position"="bottom"

1,bat注册,其实和reg注册脚本一样.

创建.bat文件,内容如下(执行bat文件时需传递,可执行文件路径)
@echo off

set processdir=%1

if "%processdir%"=="" (exit)

set percent=%%
reg add "HKCR\*\shell\disk" /v MUIVerb /t REG_SZ /d "网盘"   /f
reg add "HKCR\*\shell\disk" /v SubCommands /d "logs;addremark;searchfile"  /f
reg add "HKCR\*\shell\disk" /v Position /d "bottom"  /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\logs" /ve /d "查看历史记录" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\logs\command" /ve /d "%processdir% \"%percent%1\" logs" /f

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\addremark" /ve /d "添加备注" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\addremark\command" /ve /d "%processdir%  \"%percent%1\" addremark" /f

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\searchfile" /ve /d "搜索文件" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\searchfile\command" /ve /d "%processdir%  \"%percent%1\" searchfile" /f

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\searchtokms" /ve /d "知识库中搜索" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\searchtokms\command" /ve /d "%processdir%  \"%percent%1\" searchtokms" /f

set directoryreg="HKCR\Directory\shell\disk"
reg add "%directoryreg%" /v MUIVerb /t REG_SZ /d "网盘"   /f
reg add "%directoryreg%" /v SubCommands /d "logs"  /f
reg add "%directoryreg%" /v Position /d "bottom"  /f

set directoryrebackgroundreg="HKCR\Directory\Background\shell\disk"
reg add "%directoryrebackgroundreg%" /v MUIVerb /t REG_SZ /d "网盘"   /f
reg add "%directoryrebackgroundreg%" /v SubCommands /d "searchtokms"  /f
reg add "%directoryrebackgroundreg%" /v Position /d "bottom"  /f

window注册鼠标右键菜单,及子菜单的更多相关文章

  1. 安卓开发笔记——Menu菜单组件(选项菜单,上下文菜单,子菜单)

    菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu).上下文菜单(ContextMenu)和子菜单(SubMenu). 菜单的实现 ...

  2. ASP.NET MVC动态生成网站菜单及子菜单

    在开发ASP.NET MVC网站时,Insus.NET想实现动态产生网站的主菜单及子菜单. 你需要在网站管理后台管理此2张表(Menu,SubMenu)的信息,添加,删除,编辑,更新等. Sequen ...

  3. Sharepoint/Project Server 看不到“安全性”菜单以及子菜单

    在Sharepoint/Project Server 构建后,左侧看不到看不到“服务器设置”菜单,在设置菜单后左侧出现“服务器设置”菜单,但是依然在右侧看不到“安全性”菜单以及子菜单. (这个图是借的 ...

  4. Android 菜单之子菜单SubMenu

    子菜单就是在点击了菜单中的选项后弹出的要对菜单中选项操作的菜单           他的操作与之前的两种类型的菜单操作差不多 动态添加 @Override public boolean onCreat ...

  5. MVC 前台获取三级菜单及子菜单

    1.在后台将所有的菜单获取出来,代码如下: public ActionResult Index() { //所有商品分类 var oneMenu = _baseGoodsCategory.FindLi ...

  6. jQuery/CSS3大屏下拉菜单 自定义子菜单内容

    这是一款样式很酷的jQuery/CSS3下拉菜单,首先这款CSS3菜单是宽屏的,主要是下拉菜单非常大气,更重要的是,下拉菜单的内容可以自己定义,也就是说,下拉菜单中可以定义菜单.图片等HTML元素,是 ...

  7. 注册鼠标右键CMD

    Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\Directory\shell\runas] [HKEY_CLASSES_ROOT\D ...

  8. Android开发菜单以及子菜单

    package com.example.androidtest; import android.app.Activity; import android.os.Bundle; import andro ...

  9. el-menu菜单 -- unique-opened 子菜单唯一性失效

    总结: 点击的是  el-sub-menu . 所以  el-sub-menu 的唯一性是必须的.否则 unique-opened 属性不生效

随机推荐

  1. [linux]主机访问虚拟机web服务(CentOS)

    目的为了实现主机和虚拟机的通信,访问虚拟机中架设的web服务.按理说通过虚拟机ip + web服务端口,即可在浏览器访问虚拟机的web服务.但是由于CentOS的防火墙问题,对应web端口无法访问.通 ...

  2. 最优装载—dp

    最优装载—dp 动态规划 一 问题描述 二 问题分析 三 代码实现 package dp_Loading; import java.io.BufferedWriter; import java.io. ...

  3. leetcode 639 Decode Ways II

    首先回顾一下decode ways I 的做法:链接 分情况讨论 if s[i]=='*' 考虑s[i]单独decode,由于s[i]肯定不会为0,因此我们可以放心的dp+=dp1 再考虑s[i-1] ...

  4. cons-跨域请求

    当一个资源从与该资源本身所在的服务器不同的域或端口不同的域或不同的端口请求一个资源时,资源会发起一个跨域 HTTP 请求. 出于安全考虑,浏览器会限制从脚本内发起的跨域HTTP请求.例如,XMLHtt ...

  5. 最大子矩阵和问题dp

    给定一个矩阵 matrix,其中矩阵中的元素可以包含正数.负数.和0,返回子矩阵的最大累加和.例如,矩阵 matrix 为: 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 - ...

  6. phantomjs 中文文档

    phantomjs 中文文档 转载 入门教程:转载 http://www.cnblogs.com/front-Thinking/p/4321720.html 1.介绍 简介   PhantomJS是一 ...

  7. tomcat错误The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

    在更换tomcat版本后,原来的项目文件中jsp会出现错误The superclass "javax.servlet.http.HttpServlet" was not found ...

  8. oracle的用户管理

    创建用户 在Oracle中创建用户需要用到dba,普通用户无法创建 > create user 用户名 identified by 密码; * 密码必须以英文开头,不然是创建不起来的! * 如果 ...

  9. 【搜索2】P1706 全排列问题

    题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1-n组成的所有不重复的数字序列, ...

  10. 原生ajax可变参数post

    var Ajax = { post:function(){ xmlhttp = new XMLHttpRequest(); var len = arguments.length; var url = ...