HOW TO:在 Visual Basic 中讀取登錄機碼的值
更新:2007 年 11 月
My.Computer.Registry 物件的 GetValue 方法,可以用來讀取 Windows 登錄的值。如果機碼不存在,本案例中的 "Software\MyApp",就會擲回例外狀況。如果 ValueName (此例中為 "Name") 不存在,則會傳回 Nothing。
若要從登錄機碼讀取值
請使用 GetValue 方法指定路徑和名稱,以從登錄機碼讀取值。下列範例會從 HKEY_CURRENT_USER\Software\MyApp 讀取 Name 值,並顯示於訊息方塊中。
Dim readValue As String readValue = My.Computer.Registry.GetValue _ ("HKEY_CURRENT_USER\Software\MyApp", "Name", Nothing) MsgBox("The value is " & readValue)
這個程式碼範例也有 IntelliSense 程式碼片段可供參考。在程式碼片段選擇器中,這個程式碼片段位於 [Windows 作業系統 > 登錄] 中。如需詳細資訊,請參閱 HOW TO:在您的程式碼中插入程式碼片段 (Visual Basic)。
穩固程式設計
登錄會存放最上層或用來儲存資料的根目錄機碼。例如,HKEY_LOCAL_MACHINE 根目錄機碼是用來儲存所有使用者使用的電腦層級設定,而 HKEY_CURRENT_USER 則用來儲存個別使用者的特定資料。
下列情況可能會導致例外狀況:
機碼的名稱為 Nothing (ArgumentNullException)。
使用者沒有足夠的使用權限可以讀取登錄機碼 (SecurityException)。
機碼名稱超過 255 個字元的限制 (ArgumentException)。
安全性
若要執行這個處理序,組件需要 RegistryPermission 類別授與的權限層級。如果您正在部分信任的內容中執行動作,則會因權限不足而導致處理序發生例外狀況。同樣地,使用者必須有可以建立或寫入設定的正確存取控制清單 (ACLs)。例如,具有程式碼存取安全性權限的本機應用程式,可能不具有作業系統使用權限。如需詳細資訊,請參閱程式碼存取安全性的基本概念。