共用方式為


HOW TO:在 Visual Basic 中讀取登錄機碼的值

My.Computer.Registry 物件的 GetValue 方法,可以用來讀取 Windows 登錄的值。

如果機碼,在下列範例中,"Software\MyApp"不存在,則會擲回例外狀況。如果ValueName、 「 名稱 」 在下列範例中,不存在, Nothing會傳回。

GetValue方法也可用來判斷指定的值是否存在於特定的登錄機碼。

程式碼會從 Web 應用程式讀取登錄,目前的使用者由決定的驗證和模擬 Web 應用程式中實作。

若要從登錄機碼讀取值

  • 請使用 GetValue 方法指定路徑和名稱,以從登錄機碼讀取值。下列範例會從 HKEY_CURRENT_USER\Software\MyApp 讀取 Name 值,並顯示於訊息方塊中。

    Dim readValue = My.Computer.Registry.GetValue(
        "HKEY_CURRENT_USER\Software\MyApp", "Name", Nothing)
    MsgBox("The value is " & readValue)
    

這個程式碼範例也可做為 IntelliSense 程式碼片段。在程式碼片段選擇器中,這個程式碼片段位於 [Windows 作業系統 > 登錄] 中。如需詳細資訊,請參閱 程式碼片段

判斷值是否存在於登錄機碼中

  • 使用 GetValue 方法來擷取值。下列程式碼會檢查值是否存在,並傳回一則訊息,如果不存在。

    If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\TestApp",
    "TestValue", Nothing) Is Nothing Then
      MsgBox("Value does not exist.")
    End If
    

穩固程式設計

登錄會存放最上層或根目錄機碼,可用來儲存資料。例如,HKEY_LOCAL_MACHINE 根目錄機碼是用來儲存所有使用者使用的電腦層級設定,而 HKEY_CURRENT_USER 則用來儲存個別使用者的特定資料。

下列情形可能會造成例外狀況 (Exception):

安全性

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

請參閱

參考

RegistryProxy

RegistryHive

其他資源

讀取和寫入登錄 (Visual Basic)