当前位置: 首页 > ds >正文

如何在Windows右键新建菜单中添加自定义项,将notepad添加到新建菜单

一、简介

Windows 右键新建菜单的核心管理机制隐藏在注册表的 HKEY_CLASSES_ROOT 根键中。这里存在两种关键注册表项:文件扩展名项和文件类型项,它们共同构成了新建菜单的完整控制体系。
以常见的.txt文件为例,系统通过以下机制实现新建菜单功能:
1.初始化扫描阶段

  • Windows Shell在启动时会自动扫描HKEY_CLASSES_ROOT下所有以点号(.)开头的扩展名项
  • 对每个扩展名项,系统会读取其默认值,该值指向对应的文件类型项(如.txt对应txtfile)
    2.菜单项生成判断
  • 系统会检查扩展名项下是否存在ShellNew子项
  • 当同时满足"存在ShellNew子项"且"默认值指向有效类型项"时,该文件类型才会出现在新建菜单中
    3.显示名称确定
  • 系统会读取文件类型项的默认值作为菜单显示名称
  • 例如txtfile项的默认值"Text Document"会经过本地化处理显示为"文本文档"(中文系统)
  • ShellNew子项则负责控制具体的创建行为(如生成空白文件或使用模板)
二、将notepad++添加到新建菜单中

1.git下载地址:https://github.com/notepad-plus-plus/notepad-plus-plus/releases,选择最新版本下载安装即可,git无法访问的请参考文章:国内无法访问GitHub官网的问题解决
在这里插入图片描述
2.搜索“注册表编辑器”打开,也可使用window+r输入regedit
在这里插入图片描述
3.在“计算机\HKEY_CLASSES_ROOT”路径下新建.npp,设置默认值nppfile
在这里插入图片描述
4.在.npp下新建ShellNew,并添加字符串值名称为NullFile
在这里插入图片描述
5.在“计算机\HKEY_CLASSES_ROOT”路径下新建nppfile,设置默认值为Notepad++
在这里插入图片描述
6.在nppfile下新建DefaultIcon、shell>open>command
在这里插入图片描述
7.设置DefaultIcon值为notepad.exe路径+0,如:“D:\Program Files\Notepad++\notepad++.exe”,0
在这里插入图片描述
8.设置command值为notepad.exe路径+%1,如:“D:\Program Files\Notepad++\notepad++.exe” “%1”
在这里插入图片描述
9.桌面点击右键>刷新,或者cmd运行taskkill /f /im explorer.exe && start explorer.exe,然后桌面点击右键>新建,下拉菜单中会出现Notepad++选项
在这里插入图片描述
10.通过reg文件创建菜单,将下图代码保存到.reg文件运行后,刷新即可

Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\.npp]
@="nppfile"[HKEY_CLASSES_ROOT\.npp\ShellNew]
"NullFile"=""[HKEY_CLASSES_ROOT\nppfile]
@="Notepad++ Document"[HKEY_CLASSES_ROOT\nppfile\DefaultIcon]
@="\"D:\\Program Files\\Notepad++\\notepad++.exe\",0"[HKEY_CLASSES_ROOT\nppfile\shell\open\command]
@="\"D:\\Program Files\\Notepad++\\notepad++.exe\" \"%1\""
三、通过设置默认应用改变.txt创建方式

1.打开设置
在这里插入图片描述
2.找到应用,点击默认应用
在这里插入图片描述
3.搜索记事本点击进去,里面会有很多文件后缀名
在这里插入图片描述
4.在里面找到.txt,把默认程序修改为notepad
在这里插入图片描述
5.桌面右键>新建,会发现之前的创建文本文档换成了notepad的图标,说明设置成功
在这里插入图片描述

http://www.xdnf.cn/news/6582.html

相关文章:

  • 黑马程序员C++2024版笔记 第0章 C++入门
  • Web安全科普:构建数字世界的“防盗门”
  • 贪吃蛇游戏消息通知功能开发全解析
  • 变分自编码器(Variational Autoencoder, VAE)
  • GDB的使用
  • TCSVT投稿记录
  • JAVA学习-练习试用Java实现“语音识别的基础 :如使用MFCC特征提取和简单的分类器”
  • Python 类变量与实例变量完全指南:区别、使用场景及常见陷阱
  • Vue 3中ref
  • 实验6 电子邮件
  • 【Java学习笔记】【第一阶段项目实践】零钱通(面向过程版本)
  • Vue3学习(组合式API——生命周期函数基础)
  • 分类预测 | Matlab实现ABC-Transformer人工蜂群算法优化编码器多特征分类预测/故障诊断Matlab实现
  • 抢购Python代码示例与技术解析
  • 1C:ENTERPRISE 8.3 实用开发者指南-示例和标准技术(Session1-Session3)
  • 《模版初阶》
  • matlab多项式
  • 【unity游戏开发——编辑器扩展】EditorGUIUtility提供一些 EditorGUI 相关的其他辅助API
  • 车载诊断架构 ---车载总线对于功能寻址的处理策略
  • 北京孙河傲云源墅:限量典藏的主城墅居臻品
  • 3.3 掌握RDD分区
  • 密码学刷题小记录
  • 一物一码赋能智能制造:MES如何实现生产全流程数字化追溯
  • JAVA单元测试、反射
  • 在ubuntu系统中将vue3的打包文件dist 部署nginx 并且配置ssl证书 以https方式访问
  • 2025年5月15日
  • 广度和深度优先搜索(BFS和DFS)
  • Ubuntu20.04下如何源码编译Carla,使用UE4源码开跑,踩坑集合
  • Secs/Gem第七讲(基于secs4net项目的ChatGpt介绍)
  • 驱动-Linux定时-timer_list