HOW TO:在 Visual Basic 中判斷登錄機碼是否存在值
更新:2007 年 11 月
My.Computer.Registry 物件的 GetValue 方法可用來判斷指定的登錄機碼 (Registry Key) 中是否存在給定值。
當從 Web 應用程式讀取登錄時,目前的使用者會因 Web 應用程式中實作的驗證和模擬而不同。
判斷值是否存在於登錄機碼中
使用 GetValue 方法來擷取值。下例程式碼會檢查值,並於值不存在時傳回訊息。
If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\TestApp", _ "TestValue", Nothing) Is Nothing Then MsgBox("Value does not exist.") End If
穩固程式設計
以下條件可能造成例外狀況 (Exception):
機碼的名稱為 Nothing (ArgumentNullException)。
使用者沒有建立登錄機碼的使用權限 (SecurityException)。
機碼名稱超過 255 個字元的限制 (ArgumentException)。
機碼已關閉 (IOException)。
唯讀的登錄機碼 (UnauthorizedAccessException)。
安全性
若要執行這個處理序 (Process),組件需要 RegistryPermission 類別授與的權限層級。如果您正在部分信任的內容中執行動作,則會因權限不足而導致處理序發生例外狀況。同樣的,使用者必須有正確的存取控制權清單,才可建立或寫入設定。例如,具有程式碼存取安全性權限的本機應用程式,可能不具有作業系統使用權限。如需詳細資訊,請參閱程式碼存取安全性的基本概念。