我想用C#爲WindowsMobile PPC設備編寫一個簡單的註冊表保護程序,以幫助人們存儲選定的註冊表值並在損壞或硬重置後恢復它們。我的想法是解析選擇註冊表項/值並將它們存儲在一個正常的.reg文件中,然後可以通過任何註冊表編輯器導入它。解析註冊表二進制值爲.reg/.rgu文件格式的文本
我已經處理了大部分代碼,但是我在解析某些值到文本時遇到了一些問題。我的意思是例如二進制值表示爲十六進制。
的sooo我想從東西這樣開始:
RegistryKey RgKey = Registry.LocalMachine.OpenSubKey("\Time")
string RgName = "TimeZoneInformation"
string ValueType = Convert.ToString(RgKey.GetValueKind(RgName));
object Value = RgKey.GetValue(RgName);
和「翻譯」的值的對象(其在一個System.byte []數組保存當然)成I像這樣(使用String []數組來存儲值,高於異常測試後,我把它們放進文件,但你可以提出更好的辦法):
[HKEY_LOCAL_MACHINE \時間] 「TimeZoneInformation」=十六進制:C4,FF, ff,ff,45,00,75,00,72,00,6f,00,70,00,61,00,20,\ 00,5a,01,72,00,6f,00,64, 00,6b,00,6f,00,77,00,61,00,20,00,28,00,63,00,7a,00,61,\ 00,73,00,20,00,73, 00,74,00,61,00,6e,00,64,00,2e,00,29,00,00,00,00,00,00,00,00,\ 00,0a,00,00, 00,05,00,03,00,00,00,00,00,00,00,00,00,00,00,45,00,75,00,72,00,6f,\ 00,70, 00,61,00,20,00,5a,01,72,00,6f,00,64,00,6b,00,6f,00,77,00,61,00,20,00,28,\ 00,63,00,7a,00,61,00,73,00,20,00,6c,00,65,00,74,00,6e,00,69,00,29,00,00,00, 00,\ 00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00,c4,ff, ff,ff
它可以輕鬆完成嗎?我找不到任何幫助。特別是,我不完全知道爲什麼引用示例中的行(由註冊表編輯器導出)具有此特定格式。但我試圖搞砸了這一點,只有這種格式與反斜線在每一行結束時工作時,實際上注入註冊表...