Windows自定义右键菜单,多级菜单

--------------如果觉得博主写的可以,请关注博主--------------

首先

win + r   输入 regedit 进去注册表

然后

# HKEY_CLASSES_ROOT\*\shell 

  1. 在shell 创建一个你想要的右键文件  例如:KinokoYm
  2. 点击这个文件
  3. 在右侧的界面中,会出现一个默认的属性,或者是default
  4. 右键 点击这个文件,新建一个字符串值 

           

        

  ##属性

    ### SubCommands

  1. 有一个属性决定了是否是多级菜单模式:SubCommands(如果不创建多级的菜单,这个属性可以不加)

    ### icon

  1. 继续创建一个字符串值,然后 输入icon :这个属性决定了是否有图标(博主知道2中填法)

     #### icon填法

  1. 第一种:C:\KinokoYm.ico  可以输入一个类似的地址(随便百度一个icon图标生成工具都可以)
  2. 第二种:G:\Web Storm\sublime\Sublime Text\sublime_text.exe (例如博主使用的sublime,可以直接吧文件路径放入

     

    ### MUIVerb(这个属性可以加可以不加,用来修改你的右键名,不加默认为项名)

  1. 鼠标双击,在弹出的框中输入即可

  ## 创建2级菜单栏

  1. 在博主例如的文件下(KinokoYm),创建一个名字为 shell 的文件
  2. 在这个名为 shell 的文件下 创建一个例如 sublime(叫什么都可以) 的文件
  3. 同样进行 icon ,MUIVerb 属性的创建(你们可以选择不创建,这个不影响效果)
  4. sublime 下创建一个 名为 command(必须叫这个名字) 的文件
  5. command 右侧 双击默认的 键(形容右侧文件)
  6. 输入 你想要添加功能的应用程序执行文件或者文件路径:
  7. G:\Web Storm\sublime\Sublime Text\sublime_text.exe "%1"(如果点击无效,请去掉 "%1" 这个值)

          

   ## 如果想在桌面,或者任意文件中空白地方添加右键菜单

     ### 可以在 (这个是在桌面添加右键菜单)

      #### \HKEY_CLASSES_ROOT\DesktopBackground

         继续上面所讲到的步骤

     ### 也可以在 (这个是在文件空白位置右键菜单)

      #### \HKEY_CLASSES_ROOT\Directory\Background

          继续上面所讲到的步骤

##如果只想要1级菜单,那么只需要直接在默认的shell下直接创建即可

             

--------------------- 本文来自 KinokoYm 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/mzYangMao/article/details/82912913?utm_source=copy

在 Element UI 中实现多级右键菜单可以通过自定义指令和事件监听来实现。下面是一个简单的示例: 首先,你需要创建一个自定义指令来监听鼠标右键事件,并在触发时显示菜单。可以在 `main.js` 文件中注册该指令: ```javascript import Vue from 'vue' import { Dropdown, DropdownMenu, DropdownItem } from 'element-ui' Vue.directive('contextmenu', { bind: function (el, binding, vnode) { el.addEventListener('contextmenu', function (event) { event.preventDefault() const dropdown = new Vue({ render: h => { return h(Dropdown, { props: { trigger: 'manual' }, on: { command: command => { vnode.context.$emit('command', command) dropdown.$destroy() } } }, [ h(DropdownMenu, null, binding.value.map(item => { return h(DropdownItem, { props: { command: item.command }, domProps: { innerHTML: item.label } }) })) ]) }, mounted() { this.$refs.dropdown.$el.style.position = 'fixed' this.$refs.dropdown.$el.style.left = `${event.clientX}px` this.$refs.dropdown.$el.style.top = `${event.clientY}px` this.$refs.dropdown.show() }, destroyed() { this.$refs.dropdown.hide() } }).$mount() document.body.appendChild(dropdown.$el) }) } }) ``` 然后,在你需要使用右键菜单的组件中,使用 `v-contextmenu` 指令来绑定右键菜单的内容和事件: ```html <template> <div v-contextmenu="contextMenuItems" @command="handleCommand"> Right click me </div> </template> <script> export default { data() { return { contextMenuItems: [ { label: 'Item 1', command: 'item1' }, { label: 'Item 2', command: 'item2' }, { label: 'Submenu', children: [ { label: 'Subitem 1', command: 'subitem1' }, { label: 'Subitem 2', command: 'subitem2' } ] } ] } }, methods: { handleCommand(command) { console.log('Command:', command) } } } </script> ``` 在这个例子中,右键菜单的内容由 `contextMenuItems` 数组定义,每个菜单项包括 `label` 和 `command` 两个属性。当菜单项被点击时,将会触发 `@command` 事件,并将对应的 `command` 参数传递给 `handleCommand` 方法进行处理。 通过这种方式,你可以实现多级的右键菜单。当右键点击目标元素时,菜单会在鼠标位置显示,并且可以处理菜单项的点击事件。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值