冰楓論壇

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

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

[複製鏈接]

823

主題

0

好友

854

積分

高級贊助會員

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

UID
390967
帖子
1598
主題
823
精華
0
積分
854
楓幣
11070
威望
395
存款
10100
贊助金額
1800
推廣
0
GP
2681
閱讀權限
150
在線時間
189 小時
註冊時間
2023-5-18
最後登入
2024-11-23

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

跳轉到指定樓層
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-2024 冰楓論壇, All rights reserved

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

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

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

GMT+8, 2024-11-23 16:21

回頂部