共用方式為


HOW TO:在 Visual Basic 中建立登錄機碼並設定其值

更新:2007 年 11 月

My.Computer.Registry 物件的 CreateSubKey 方法可用來建立登錄機碼 (Registry Key)。

程序

若要建立登錄機碼

  • 請使用 CreateSubKey 方法來指定要將機碼及機碼名稱存放在那個登錄區。參數 Subkey 不需區分大小寫。這個範例是將登錄機碼 MyTestKey 建立在 HKEY_CURRENT_USER 之下。

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    

若要建立登錄機碼並設定其值

  1. 請使用 CreateSubkey 方法來指定要將機碼及機碼名稱存放在那個登錄區。這個範例是將登錄機碼 MyTestKey 建立在 HKEY_CURRENT_USER 之下。

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    
  2. 使用 SetValue 方法來設定值。這個範例會設定字串值:將 "MyTestKeyValue" 設為 "This is a test value"。

    My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey", _
    "MyTestKeyValue", "This is a test value.")
    

範例

這個範例是將登錄機碼 MyTestKey 建立在 HKEY_CURRENT_USER 之下,並將字串值 MyTestKeyValue 設為 This is a test value。

My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
' Change MyTestKeyValue to This is a test value. 
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey", _
"MyTestKeyValue", "This is a test value.")

穩固程式設計

檢查登錄結構以找出適合機碼 (Key) 的位置。例如,您可能想要開啟目前使用者的 HKEY_CURRENT_USER\Software 機碼,並使用您的公司名稱來建立機碼,接著將登錄值加入至您的公司機碼。

當從 Web 應用程式讀取登錄時,目前的使用者會因 Web 應用程式中實作的驗證和模擬而不同。

更為安全的做法是將資料寫入至使用者資料夾 (CurrentUser),而不是寫入至本機電腦 (LocalMachine)。

當您建立登錄值時,必須先確定該值是否已經存在。其他處理序 (也許是惡意的處理序) 可能已建立該值並且具有其存取權。當您將資料放入登錄值時,其他處理序就可以使用該資料。若要預防這個問題,請使用 GetValue 方法。如果機碼不存在,這個方法會傳回 Nothing。

雖然登錄機碼會受到存取控制清單 (Access Control List,ACL) 保護,但是將機密資料 (例如密碼) 以純文字儲存在登錄中仍然是不安全的做法。

下列情況可能會導致例外狀況:

安全性

若要執行這個處理序,組件需要 RegistryPermission 類別所授與的權限層級。如果您正在部分信任的內容中執行,則可能會因權限不足而導致處理序擲回例外狀況。同樣地,使用者必須具有可以建立或寫入設定的正確存取控制清單 (ACL)。例如,具有程式碼存取安全性權限的本機應用程式,可能不具有作業系統使用權限。如需詳細資訊,請參閱程式碼存取安全性的基本概念

請參閱

工作

疑難排解:管理登錄

逐步解說:建立登錄機碼和變更其值

概念

一般登錄工作

程式碼存取安全性的基本概念

參考

My.Computer.Registry 物件

My.Computer.Registry.CurrentUser 屬性

CreateSubKey