天天看點

WinCE下VB.NET讀寫系統資料庫的參考代碼

      與桌面Windows系統類似,WinCE将有關作業系統、應用程式和驅動的設定資訊都儲存在系統系統資料庫中。WinCE的系統資料庫與桌面系統中的組織方式也差不多,包括了如下四個根鍵:

      HKEY_CLASS_ROOT,包含了檔案擴充名資訊和COM子系統的配置資訊

      HKEY_LOCAL_MACHINE,包含了系統、驅動和應用程式的配置資訊

      HKEY_CURRENT_USER,包含了目前使用者的配置資訊

      HKEY_USER,包含了所有使用者的資訊

      WinCE提供了一系列的用于操作系統資料庫的API,之前做的驅動調試助手小工具就是利用這些API實作的。那VB.NET如何操作系統資料庫呢?實際上更簡單,.NET Compact Framework提供了Registry和RegistryKey,可以利用這兩個類,很友善的實作系統資料庫的讀寫。

      下面以修改WinCE裝置的名稱及描述為例,簡單介紹一下WinCE下VB.NET讀寫系統資料庫的方法。參考代碼如下。

 1 Imports Microsoft.Win32

 2 

 3 Public Class DevName

 4 

 5     Private Sub ButtonSet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSet.Click

 6         Dim hklm As RegistryKey = Registry.LocalMachine

 7         Dim subkey As RegistryKey = hklm.OpenSubKey("Ident", True)

 8         subkey.SetValue("Name", TextBoxDevName.Text)

 9         subkey.SetValue("Desc", TextBoxDevDesc.Text)

10     End Sub

11 

12     Private Sub ButtonGet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonGet.Click

13         Dim hklm As RegistryKey = Registry.LocalMachine

14         Dim subkey As RegistryKey = hklm.OpenSubKey("Ident", False)

15         TextBoxDevName.Text = subkey.GetValue("Name")

16         TextBoxDevDesc.Text = subkey.GetValue("Desc")

17     End Sub

18 

19     Private Sub ButtonClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonClear.Click

20         TextBoxDevName.Text = ""

21         TextBoxDevDesc.Text = ""

22     End Sub

23 End Class

       如果WinCE系統支援HIVE系統資料庫,還可以通過RegistryKey.Flush()或RegistryKey.Close(),将修改的内容重新整理的磁盤。