冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 1078|回覆: 0
打印 上一主題 下一主題

[心得] [C#] 登錄檔的增、刪、讀、寫操作

[複製鏈接]

1114

主題

0

好友

1042

積分

高級贊助會員

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

UID
390967
帖子
2182
主題
1114
精華
0
積分
1042
楓幣
26484
威望
578
存款
10100
贊助金額
1800
推廣
0
GP
3799
閱讀權限
150
在線時間
272 小時
註冊時間
2023-5-18
最後登入
2025-12-25

2023年紀念勳章 太陽勳章 神手勳章 高級客戶 VIP會員 私服達人 懶人勳章 幼兒勳章 音樂勳章 屁孩勳章 貢獻王 性別(女) 性別(男) 積分勳章 發帖達人 2023端午節紀念勳章 富豪勳章 富可敵國 2023中秋節紀念勳章 解說達人 論壇粉絲 2023聖誕節紀念勳章 2024年紀念勳章 2024端午節紀念勳章 2024中秋節紀念勳章 2024聖誕節紀念勳章 2025年紀念勳章 2025端午節紀念勳章 2025中秋節紀念勳章 2025聖誕節紀念勳章

跳轉到指定樓層
1
發表於 2023-5-31 14:19:33 |只看該作者 |倒序瀏覽
本帖最後由 whitefox 於 2023-6-1 10:24 編輯

!!對系統登錄檔的任意操作是有風險的,開始前請自行評估風險跟對系統的了解程度在進行操作

首先對windows系統登錄檔結構做一簡單說明
登錄檔有五個主要個根節點,本文稱為基鍵(Root Key),如下:
  • HKEY_CLASSES_ROOT
  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_USERS
  • HKEY_CURRENT_CONFIG

以上各有不同用途跟權限,這裡使用HKEY_CURRENT_USER,建議若還不了解各個用途前可以先以這個來測試
若遇到錯誤為UnauthorizedAccessException就是無權限操作

在基鍵下會有
機碼        - 如檔案總管內的目錄
登錄值組  - 如檔案總管內的檔案,內有值組名稱跟值組數值

大概知道以上分類後,就開始設計操作的功能,首先引用以下命名空間
  1. using Microsoft.Win32;
複製代碼
然後宣告定義一個登錄檔物件,此處選HKEY_CURRENT_USER,路徑使用SOFTWARE\TEST\
  1. public RegistryKey RegKey = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\TEST", true);
複製代碼
寫入一組值組,名稱Sample,內容值1st的字串
  1. RegKey.SetValue("Sample1", "1st");
複製代碼
嘗試讀取並用對話框顯示出來,值組數值可以為字串/二進制值/DWORD/QWORD/多字串值/可擴充字串值,這裡不管是什麼只要不是NULL,就一律型轉成字串
  1. string msg = RegKey.GetValue("Sample1")?.ToString();
  2. MessageBox.Show("Name: Sample1\r\nValue: " + msg);
複製代碼
測試完以上後,就可以刪除此機碼
  1. RegKey.DeleteSubKey("Sample1");
複製代碼
若該機碼下又有子機碼,要刪除層層機碼的話,就要用這個樹狀刪除功能
  1. RegKey.DeleteSubKeyTree("Sample1");
複製代碼
收藏收藏0 推0 噓0

分享這篇文章



把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1鑰匙
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策詐騙防範及資料調閱

Copyright © 2011-2025 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2025-12-26 05:17

回頂部