注册表添加右键菜单快捷启动
注册表(Registry,繁体中文版Windows操作系统称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Windows 95操作系统开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。
上篇搭建好了msys开发环境,但是在使用中为了方便,我们把这个msys应用注册到右键菜单方便快捷启动。这里提供注册文件和批处理文件两种方式。在配置时我们需要用到的是ico图标和shell命令文件。
注册文件:在目录下新建一个文件,命名为--“右键菜单msys2.reg”,在文件中输入如下代码。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\Mingw64]
@="MinGW &64 Bash Here"
"Icon"="H:\\msys64\\msys2.ico"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Mingw64\command]
@="H:\\msys64\\msys2_shell.cmd -mingw64"
编写好了后保存,直接点击运行进行注册。完成后既可以在右键菜单看到注册好的软件,可以方便快捷启动。
批处理文件:在刚刚的注册文件中我们看到,其中路径需要绝对路径,这样当我们将配置好的msys拷贝到其他机器是就不能正常添加右键菜单,所以接下来我们使用批处理文件的方式来。同样在目录下新建一个文件命名为--“右键菜单msys2.bat”,编辑保存。
@echo off
set dir=%cd%
echo 正在注册MinGW64右键菜单...
REG ADD "HKEY_CLASSES_ROOT\Directory\Background\shell\Mingw64" /f /t REG_SZ /d "MinGW64 Bash"
REG ADD "HKEY_CLASSES_ROOT\Directory\Background\shell\Mingw64" /f /v "Icon" /t REG_SZ /d "%dir%\msys2.ico"
REG ADD "HKEY_CLASSES_ROOT\Directory\Background\shell\Mingw64\command" /f /t REG_SZ /d "%dir%\msys2_shell.cmd -mingw64"
echo 注册完成
pause
exit
接下来运行bat文件提示如下:
补充关于reg命令说明:
语法:reg add KeyName [/v EntryName|/ve] [/t DataType] [/s separator] [/d value] [/f]
参数
KeyName
指定子项的完全路径。对于远程计算机,请在\\ComputerName\PathToSubkey中的子项路径前包含计算机名称。忽略ComputerName会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。远程机器上只有HKLM 和 HKU。
值 :说明
HKCR: HKEY_CLASSES_ROOT
HKCU: HKEY_CURRENT_USER
HKLM: HKEY_LOCAL_MACHINE
HKU: HKEY_USERS
HKCC: HKEY_CURRENT_CONFIG
/v EntryName
指定要添加到指定子项下的项名称。
/ve
指定添加到注册表中的项为空值。
/t DataType
指定项值的数据类型。DataType可以是以下几种类型:
REG_SZ
REG_MULTI_SZ
REG_DWORD_BIG_ENDIAN
REG_DWORD
REG_BINARY
REG_DWORD_LITTLE_ENDIAN
REG_LINK
REG_FULL_RESOURCE_DESCRIPTOR
REG_EXPAND_SZ
/s separator
指定用于分隔多个数据实例的字符。
/d value
指定新注册表项的值。
/f
不用询问信息而直接添加子项或项。
/?
在命令提示符显示帮助。
注释
该操作不能添加子树。该版本的Reg在添加子项时无需请求确认。
下表列出了reg add操作的返回值。值说明
0成功
1失败