共用方式為


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

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

程序

建立登錄機碼

  • 使用 CreateSubKey 方法,並指定要放置機碼和機碼名稱的 Hive。 Subkey 參數不區分大小寫。 這個範例會在 HKEY_CURRENT_USER 下建立 MyTestKey 登錄機碼。

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

建立登錄機碼並設定其值

  1. 使用 CreateSubkey 方法,並指定要放置機碼和機碼名稱的 Hive。 這個範例會在 HKEY_CURRENT_USER 下建立 MyTestKey 登錄機碼。

    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.")
    

範例

這個範例會在 HKEY_CURRENT_USER 下建立 MyTestKey 登錄機碼,然後將字串值 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.")

穩固程式設計

檢查登錄結構以找出適合索引鍵的位置。 例如,您可能想要開啟目前使用者的 HKEY_CURRENT_USER\Software 機碼,並以貴公司的名稱來建立機碼。 請將登錄值新增至貴公司的索引鍵。

從 Web 應用程式讀取登錄時,目前使用者取決於 Web 應用程式中所實作的驗證和模擬。

將資料寫入使用者資料夾 (CurrentUser) 比寫入本機電腦 (LocalMachine) 更安全。

當您建立登錄值時,您需要決定如果該值已經存在該怎麼辦。 另一個可能是惡意的處理序,可能已建立值並具有其存取權。 當您將資料放在登錄值中時,資料可供其他處理序使用。 為避免此問題,請使用 GetValue 方法。 如果機碼尚未存在,則會傳回 Nothing

即使使用 ACL (存取控制清單) 來保護登錄機碼,將密碼等機密資料以純文字儲存在登錄中也不安全。

以下條件可能會造成例外狀況:

.NET Framework 安全性

若要執行此程序,您的組件需要由 RegistryPermission 類別授與的權限層級。 若在部分信任內容中執行,程序可能會因為權限不足而擲回例外狀況。 同樣地,使用者必須有正確的 ACL,才能建立或寫入設定。 例如,具有程式碼存取安全性權限的本機應用程式,可能不具有作業系統權限。 如需詳細資訊,請參閱 Code Access Security Basics

注意

在所有版本的 .NET Framework 與 .NET 中,程式碼存取安全性 (CAS) 均已被取代。 當使用 CAS 相關 API 時,最新版本的 .NET 不會接受 CAS 註釋,並會產生錯誤。 開發人員應尋求替代方案來完成安全性工作。

另請參閱