Regedit

类型

新建值: 名称          类型              导出reg文件的值
字符串值S             REG_SZ            "字符串"=""
二进制值B             REG_BINARY        "二进制"=hex:
DWORD(32-位)值D     REG_WORD          "DWORD(32-位)"=dword:00000000
DWORD(64-位)值Q     REG_QWORD         "DWORD(64-位)"=hex(b):00,00,00,00,00,00,00,00
多字符串值M           REG_MULTI_SZ      "多字符串"=hex(7):00,00
可扩充字符串值E       REG_EXPAND_SZ     "可扩充字符串"=hex(2):00,00

注册表收藏夹

Regedit_Favorites

;regedit_favorites.reg
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favorites]
"收藏夹_Favorites"="计算机\\HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Regedit\\Favorites"
"Win7库_HCR.C.{031E"="计算机\\HKEY_CLASSES_ROOT\\CLSID\\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\\ShellFolder"
"HCU.S.M.W.CV"="计算机\\HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion"
"HCU.S.M.W.CV.E.FE.FileExts"="计算机\\HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts"
"右键菜单_HCR.D.B.shellex.CMH"="计算机\\HKEY_CLASSES_ROOT\\Directory\\Background\\shellex\\ContextMenuHandlers"
"PHotkey_HLM.S.CS.s.ASLDRSer"="计算机\\HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\services\\ASLDRService"
"WinRAR密码"="计算机\\HKEY_CURRENT_USER\\Software\\WinRAR\\Passwords"
"Chrome扩展白名单"="计算机\\HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Google\\Chrome\\ExtensionInstallWhitelist"
"RunAsInvoker_Layers"="计算机\\HKEY_CURRENT_USER\\Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers"
"HCU.S.Classes"="计算机\\HKEY_CURRENT_USER\\Software\\Classes"
"HLM.S.Classes"="计算机\\HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes"
"HCR.Applications"="计算机\\HKEY_CLASSES_ROOT\\Applications"
"HCR.Folder"="计算机\\HKEY_CLASSES_ROOT\\Folder"
"HCR.DesktopBackground"="计算机\\HKEY_CLASSES_ROOT\\DesktopBackground"
"HCR.AllFilesystemObjects"="计算机\\HKEY_CLASSES_ROOT\\AllFilesystemObjects"
"HCR.Drive"="计算机\\HKEY_CLASSES_ROOT\\Drive"

注册表文件关联机制

windows通过注册表项来关联特殊后缀的文件以及启动他们的程序。有几个地方会有关联信息:

1、HKEY_LOCAL_MACHINE\Software\Classes:该注册表项包括适用所有用户的默认文件关联设置

2、HKEY_CURRENT_USER\Software\Classes:该注册表项包含只适用当前用户的文件关联设置(它会覆盖HKEY_LOCAL_MACHINE项中的设置)

3、HKEY_CLASSES_ROOT:该注册表项目里面的设置是保证Windows资源管理器能够选择正确的应用程序打开相应文件的关键所在。在Windows 2000之后,该注册表项目中的文件关联设置分别存在上面所说的两个注册表项中去了。而HKEY_CLASS_ROOT 注册表项则成为融合(注意,对于相关的文件类型,HKEY_CURRENT_USER下面的设置会覆盖HKEY_LOCAL_MACHINE下面的设置)上面两个注册表项内容的一个镜像。为了更新文件关联设置,你必须更新"HKEY_CURRENT_USER\Software\Classess"或者"HKEY_LOCAL_MACHINE\Software\Classess"下的注册表项,而不是直接更新HKEY_CLASS_ROOT下的注册表项。

3、HKEY_CLASSES_ROOT:该注册表项目里面的设置是保证Windows资源管理器能够选择正确的应用程序打开相应文件的关键所在。在Windows 2000之后,该注册表项目中的文件关联设置分别存在上面所说的两个注册表项中去了。而 HKEY_CLASS_ROOT 注册表项是上面两个注册表项的并集,修改、删除 HKEY_CLASS_ROOT 注册表项与修改上面两个注册表项的作用是一样的,Windows会实时同步。win7管理员在 HKEY_CLASS_ROOT 注册表项下新建项,会创建在 HKEY_LOCAL_MACHINE\Software\Classes 中。

即:HKEY_CLASSES_ROOT == HKEY_LOCAL_MACHINE\Software\Classes + HKEY_CURRENT_USER\Software\Classes

注册表添加、删除文件关联

添加文件关联

添加文件关联:(演示添加一个*.apk格式文件关联)

在HKEY_CLASSES_ROOT键增加项“.apk”

设置“.apk”项的默认值为“apk_auto_file”(名字可以任取)
HKEY_CLASSES_ROOT\.apk
@="apk_auto_file"

在HKEY_CLASSES_ROOT下增加项“apk_auto_file”
[HKEY_CLASSES_ROOT\apk_auto_file]

在新项“apk_auto_file”中添加“DefaultIcon”和“shell”

[HKEY_CLASSES_ROOT\apk_auto_file\DefaultIcon]
修改项“DefaultIcon”的默认值为图标路径,这里是设置扩展名为*.apk的文件的图标:
@="F:\\图片\\图标&头像\\1.ico"

[HKEY_CLASSES_ROOT\apk_auto_file\shell]

在项“shell”下建立项“open”,“open”下建立“command”

[HKEY_CLASSES_ROOT\apk_auto_file\shell\open]

[HKEY_CLASSES_ROOT\apk_auto_file\shell\open\command]
修改项“command”的默认值为程序路径
在路径后面加上“"%1"”,表示双击时,用此路径的程序打开双击的.apk文件。
@="\"E:\\Program Files\\apkhelper_3.1.2016.0901\\apkhelper.exe\" \"%1\""

若想在右键添加 "用 xxx 打开",请参考python的注册表项
若想让右键添加的 "用 xxx 打开" 在按住shift键时才出现,参考 "右键_在此处打开命令窗口"。

删除文件关联

首先删除这两个键

[-HKEY_CLASSES_ROOT\.apk]
[-HKEY_CLASSES_ROOT\apk_auto_file]

这样文件关联关系基本上删除了,可是在打开方式列表里面仍然有该类型,这时再删除下面这个键
[HKEY_CLASSES_ROOT/Applications/apk.exe]

注:
如果 .apk 文件用 WinRAR.exe 程序打开过,那么上面的 推荐的程序 列表里面也会有 WinRAR archiver ,那么再删除下面这个键
[HKEY_CLASSES_ROOT\Applications\WinRAR.exe]

如果该类型文件的图标仍然没变,那么重启 explorer.exe 即可。
@echo off
taskkill /im explorer.exe /f
start explorer

但还有几个键里面有残留记录,如下六个键

==/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/FileExts/.lfw
==/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/RecentDocs/.lfw
  /HKEY_CURRENT_USER/Software/Microsoft/Windows/ShellNoRoam/MUICache

**/HKEY_USERS/S-1-5-21-583907252-1383384898-725345543-1003/Software/Microsoft/Windows/CurrentVersion/Explorer/FileExts/.lfw
**/HKEY_USERS/S-1-5-21-583907252-1383384898-725345543-1003/Software/Microsoft/Windows/CurrentVersion/Explorer/RecentDocs/.lfw
  /HKEY_USERS/S-1-5-21-583907252-1383384898-725345543-1003/Software/Microsoft/Windows/ShellNoRoam/MUICache

当删除打上**号的两个键时,打上==号的两个键会自动删除,这四个键是对此类型文件的打开记录,用什么类型打开过此类型的文件,都会被记录下来,其实这两个键可以不用管。最后一个键MUICache不知道是做什么用的,希望有知道的同志指点一下。

注:Win7上面并没有发现上面的后三个键