註冊表學習和常用註冊表修改

  • 2019 年 11 月 10 日
  • 筆記

存儲數據結構

  1. 樹型結構,分支結點和葉子節點均可存儲數據
  2. 每個節點存儲的數據為 鍵->List<值(名稱-類型-數據)>; 名稱大小寫不敏感
  3. 數據類型
    • REG_BINARY 二進位類型,以十六制顯示
    • DWORD/QWORD 數值類型DWORD 為 32 位,QWORD 為 64 位
    • REG_SZ 字元串類型 ,最大長度不能超過 255 個字元
    • REG_EXPAND_SZ 擴展字元串類型 ,可解釋 %變數%
    • REG_MULTI_SZ
  4. 註冊表存儲的是 Hive 文件,存儲路徑為 WindowsSystem32config

五大根鍵

HKEY_USERS

Default 子鍵內容和 HKEY_CURRENT_USER 一致,其它不用管

HKEY_CURRENT_USER

保存了當前登錄用戶數據,個性化配置,鍵的內容隨登錄用戶不同而不同

  1. ControlPanel

控制面板設置,桌面背景,容器外觀等

  1. Software

當前環境中安裝的軟體設置,windows 本身內置功能

HKEY_LOCAL_MACHINE

保存的系統資訊,包括硬體配置,外圍設備,網路設置,所安裝的軟體

  1. HARDWARE

電腦硬體相關的各項資訊,驅動程式的設置

  1. SAM SECURITY

用戶組,用戶,系統安全設置,許可權分配

  1. SOFTWARE

已安裝的軟體資訊,與 HKEY_CURRENT_USER/Software 不同的是,這個對所有用戶都生效

  1. SYSTEM

系統啟動,驅動程式載入等與作業系統本身相關的各項設置資訊

HKEY_CLASSES_ROOT

文件類型,文件關聯,圖標,擴展名,哪種文件類型用哪個軟體打開

HKEY_CURRENT_CONFIG

當前硬體的配置值

編寫註冊表腳本(第一種方法)

Windows Registry Editor Version 5.00  這個空行一定要的  [HKEY_CURRENT_USERSoftware]  "鍵值名稱"=鍵值  

添加 / 刪除子鍵

  • 添加子鍵
Windows Registry Editor Version 5.00    [HKEY_CURRENT_USERSoftware鍵位置]  
  • 刪除子鍵
Windows Registry Editor Version 5.00    [-HKEY_CURRENT_USERSoftware鍵位置]  

設置鍵值

Windows Registry Editor Version 5.00    [HKEY_CURRENT_USERSoftware鍵位置]  @="lcazhj"                          設置默認值  "姓名"="LC"                           設置字元串值 REG_SZ  "地址"=hex(2):hexvalue                設置字元串 REG_EXPAND_SZ  "地超"=hex(7):hexvalue                設置字元串 REG_MULTI_SZ  "年齡"=hex:22                     設置二進位值  "婚否"=DWORD:00000000             設置 DWORD 值    下面是刪除鍵值    "姓名"=-

編寫註冊表腳本(使用 reg 命令)

reg add "HKLMSOFTWAREMYCO" /v data /t REG_DWORD /d 1 /f  /v 名稱  /t 數據類型 REG_SZ|REG_MULTI_SZ|REG_EXPAND_SZ|REG_DWORD|REG_QWORD|REG_BINARY|REG_NONE  /d 數據  /f 強制執行

常用註冊表解決問題示例

修改我的音樂,我的圖片,我的影片,我的文檔,收藏夾,桌面,下載 的默認位置

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders 

資源管理器中顯示菜單欄

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer]  "AlwaysShowClassicMenu"=dword:00000001

顯示隱藏的文件(隱藏文件,系統隱藏文件,擴展名)

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced]  "Hidden"=dword:00000001  "ShowSuperHidden"=dword:00000001  "HideFileExt"=dword:00000000  

關閉防火牆

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesSharedAccessParametersFirewallPolicyStandardProfile]  "EnableFirewall"=dword:00000000  

關閉系統更新

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer]  "NoWindowsUpdate"=dword:00000001  

立即刷新註冊表,不用重啟來生效

  1. 重啟 explorer.exe 即可生效
  2. 執行命令 RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters

    一點小推廣

    創作不易,希望可以支援下我的開源軟體,及我的小工具,歡迎來 gitee 點星,fork ,提 bug 。

Excel 通用導入導出,支援 Excel 公式
部落格地址:https://blog.csdn.net/sanri1993/article/details/100601578
gitee:https://gitee.com/sanri/sanri-excel-poi

使用模板程式碼 ,從資料庫生成程式碼 ,及一些項目中經常可以用到的小工具
部落格地址:https://blog.csdn.net/sanri1993/article/details/98664034
gitee:https://gitee.com/sanri/sanri-tools-maven