HOW TO:在登錄中建立機碼 (Visual C#)
這個範例將位於機碼 "Names" 下的值組 "Name" 和 "Isabella" 加入至目前使用者的登錄。
範例
Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Names");
key.SetValue("Name", "Isabella");
key.Close();
編譯程式碼
複製程式碼,並貼至主控台應用程式的 Main 方法中。
使用直接位於登錄的 HKEY_CURRENT_USER 節點下的機碼名稱來取代 Names 參數。
請使用直接位於 Names 節點下的值名稱來取代 Name 參數。
穩固程式設計
檢查登錄結構以找出適合機碼 (Key) 的位置。例如,您可能會想要開啟目前使用者的 Software 機碼,並且使用您的公司名稱來建立機碼。接著將登錄值加入至您的公司機碼。
下面情況可能會造成例外狀況:
機碼名稱為 null。
使用者沒有建立登錄機碼的權限。
機碼名稱超過 255 個字元的限制。
機碼已關閉。
登錄機碼是唯讀的。
安全性
更為安全的做法是將資料寫入至使用者資料夾 (Microsoft.Win32.Registry.CurrentUser),而不是寫入至本機電腦 (Microsoft.Win32.Registry.LocalMachine)。
當您建立登錄值時,必須先確定該值是否已經存在。其他處理序 (也許是惡意的處理序) 可能已建立該值並且具有其存取權。當您將資料放入登錄值時,其他處理序就可以使用該資料。若要預防這個問題,請使用 Overload:Microsoft.Win32.RegistryKey.GetValue 方法。如果機碼不存在,這個方法會傳回 null。
雖然登錄機碼受到存取控制清單 (ACL) 保護,但在登錄中以純文字方式存放機密資料 (例如密碼) 仍然是不安全的做法。