HOW TO:在 Visual Basic 的登錄機碼中設定值
您可以使用 My.Computer.Registry 物件的 SetValue 方法,將值寫入 Windows 登錄。 登錄會存放最上層或根目錄機碼,可用來儲存資料。 例如,HKEY_LOCAL_MACHINE 根目錄機碼是用來儲存所有使用者使用的電腦層級設定,而 HKEY_CURRENT_USER 則用來儲存個別使用者的特定資料。
如果值以及完整的機碼路徑不存在,就會加以建立。
程序
若要將值寫入登錄機碼
使用 SetValue 方法指定機碼和值。 這個範例會將值 Name 設定為機碼 HKEY_CURRENT_USER\Software\TestApp 中的 "Author's Name"。
My.Computer.Registry.SetValue( "HKEY_CURRENT_USER\Software\TestApp", "Name", "Author's Name")
這個程式碼範例也可做為 IntelliSense 程式碼片段。 在程式碼片段選擇器中,這個程式碼片段位於 [Windows 作業系統 > 登錄] 中。 如需詳細資訊,請參閱 HOW TO:插入 IntelliSense 程式碼片段。
穩固程式設計
使用者喜好設定的資料應寫入至 Microsoft.Win32.Registry.CurrentUser 登錄區。
雖然登錄機碼受到存取控制清單 (ACL) 保護,但在登錄中以純文字方式存放機密資料 (例如密碼) 仍然是不安全的做法。
以下條件可能會造成例外狀況:
機碼的名稱為 Nothing (ArgumentNullException)。
機碼名稱超過 255 個字元的限制 (ArgumentException)。
指定的登錄區無效 (ArgumentException)。
機碼已關閉 (IOException)。
路徑無效 (IOException)。
登錄機碼為唯讀 (UnauthorizedAccessException)。
安全性
若要執行這個處理序 (Process),組件需要 RegistryPermission 類別授與的權限層級。 如果您正在部分信任的內容中執行動作,則會因權限不足而導致處理序擲回例外狀況。 同樣地,使用者必須有可以建立或寫入設定的正確存取控制清單 (ACL)。 例如,具有程式碼存取安全性權限的本機應用程式,可能不具有作業系統使用權限。 如需詳細資訊,請參閱程式碼存取安全性的基本概念。
請參閱
工作
HOW TO:在 Visual Basic 中讀取登錄機碼的值
逐步解說:建立登錄機碼和變更其值 (Visual Basic)