本帖最后由 hualy 于 2024-6-8 11:48 编辑
基础
1. 注册表的结构
Windows注册表由多个层次结构的键(Key)和值(Value)组成。
主要的顶层键(也叫根键)包括:
• HKEY_CLASSES_ROOT(HKCR):存储文件类型和文件扩展名关联。
• HKEY_CURRENT_USER(HKCU):存储当前用户的配置。
• HKEY_LOCAL_MACHINE(HKLM):存储所有用户和系统级别的配置。
• HKEY_USERS(HKU):存储所有用户的配置。
• HKEY_CURRENT_CONFIG(HKCC):存储当前硬件配置文件信息。
2. 键(Keys)和子键(Subkeys)
每个键类似于文件系统中的文件夹,可以包含子键。子键可以嵌套多层,形成一个树状结构。
3. 值(Values)
每个键可以包含一个或多个值,每个值有一个名称和数据类型。
常见的数据类型包括:
• REG_SZ:字符串值
• REG_DWORD:32位数字值
• REG_QWORD:64位数字值
• REG_BINARY:二进制数据
• REG_MULTI_SZ:多字符串值
• REG_EXPAND_SZ:可扩展的字符串值(包含环境变量)
4. 注册表编辑器
Windows提供了一个图形界面工具“注册表编辑器”(Regedit),用于查看和编辑注册表。你可以通过以下方式打开注册表编辑器:
1. 按下 Win + R 打开运行对话框。
2. 输入 regedit 并按下 Enter 键。
5. 常见操作
• 查看键和值:在注册表编辑器中浏览树状结构,展开键查看子键和值。
• 创建键和值:右键点击任意键,选择“新建”来创建新的键或值。
• 修改值:双击某个值,编辑其数据内容。
• 删除键和值:右键点击需要删除的键或值,选择“删除”。
6.右键菜单位置 情形 | 注册表位置 | 右键空白区域 | 桌面空白区域 | HKEY_CLASSES_ROOT\DesktopBackground\Shell | 一般空白区域 | 管理员 | HKEY_CLASSES_ROOT\Directory\Background\shell | 普通用户 | HKEY_CURRENT_USER\Software\Classes\directory\Background\shell | 右键文件夹 | 管理员 | HKEY_CLASSES_ROOT\Directory\shell | 普通用户 | HKEY_CLASSES_ROOT\Directorylshell | 右键文件 | 管理员 | HKEY_CLASSES_ROOT\*\shell | 普通用户 | HKEY_CURRENT_USER\Software\Classes\*\shell | | | | | | | | 参考:
win10 给右键文件、文件夹、桌面菜单添加程序(项)
使用注册表编辑win10鼠标右键菜单,详细解释(右键文件夹、文件以及右键空白区域下三种情况)
相关文件内容
add_context_menu.bat
[Shell] 纯文本查看 复制代码 @echo off
:: 关闭命令回显
echo Checking if "Add to Context Menu" option exists...
:: 检查是否存在右键菜单项
REG QUERY "HKCU\Software\Classes\*\shell\AddToContextMenu" >nul 2>&1
if %errorlevel%==0 (
echo "Add to Context Menu" option already exists.
) else (
echo Adding "Add to Context Menu" option...
:: 添加右键菜单项
REG ADD "HKCU\Software\Classes\*\shell\AddToContextMenu" /ve /d "Add to Context Menu" /f
REG ADD "HKCU\Software\Classes\*\shell\AddToContextMenu\command" /ve /d "\"%~dp0handle_add_to_context_menu.bat\" \"%%1\"" /f
echo "Add to Context Menu" option added successfully.
)
pause
handle_add_to_context_menu.bat
[Shell] 纯文本查看 复制代码 @echo off
:: 关闭命令回显
if "%1"=="" (
echo No file specified.
pause
exit /b
)
:: 获取传递的文件路径
set "filePath=%1"
:: 获取文件名(不含路径)
set "fileName=%~nx1"
:: 获取文件的目录路径
set "fileDir=%~dp1"
:: 输出将要添加到注册表的信息
echo Adding file information to the registry: %filePath%
:: 添加文件路径到注册表
REG ADD "HKCR\*\shell\%fileName%" /ve /d "%fileName%" /f
REG ADD "HKCR\*\shell\%fileName%" /v "icon" /t REG_SZ /d "%filePath%" /f
REG ADD "HKCR\*\shell\%fileName%\command" /ve /d "\"%filePath%\" \"%%1\"" /f
echo File information added successfully
:: 输出提示信息,告知用户文件信息已成功添加到注册表
pause
用法
放在同一文件夹
1、成功运行add_context_menu.bat
双击add_context_menu.bat
运行成功后,右键任意文件会出现zadd contextmenu选项:
2、添加自己需要的常用.exe
如下步骤:
弹出以下情况为添加成功:
此时右键文件会出现自己添加的.exe文件:python.exe
3、尝试能否正常使用
使用我之前写的python签到脚本来试验一波
签到成功,说明所添加的python.exe能够正常使用
扩展
如果想在其他地方右键添加,如文件夹、空白区域、桌面的右键添加,只要把handle_add_to_context_menu.bat用编辑器打开,选中HKCR\*\shell然后Ctrl + H,再将替换的内容设置为下表的位置,然后点击全部替换即可 情形 | 注册表位置 | 右键空白区域 | 桌面空白区域 | HKEY_CLASSES_ROOT\DesktopBackground\Shell | 一般空白区域 | 管理员 | HKEY_CLASSES_ROOT\Directory\Background\shell | 普通用户 | HKEY_CURRENT_USER\Software\Classes\directory\Background\shell | 右键文件夹 | 管理员 | HKEY_CLASSES_ROOT\Directory\shell | 普通用户 | HKEY_CLASSES_ROOT\Directorylshell | 右键文件 | 管理员 | HKEY_CLASSES_ROOT\*\shell | 普通用户 | HKEY_CURRENT_USER\Software\Classes\*\shell | | | | | | | |
土豪通道:
添加右键.zip
(1.56 KB, 下载次数: 35)
密码:52pojie |