VB.net 2010 視頻教程 VB.net 2010 視頻教程 VB.net 2010 視頻教程
SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
當前位置:
魔兽世界wow > 編程開發 > vb >
  • vb教程之在VB編程中使用系統“注冊表” (加入

  • 2017-09-21 16:19 來源:未知
 文/朱文剛

  用VB編程,在打開一個主鍵時,常?;嵊肦egOpenKey,比如要鎖定注冊表就寫成:

  Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpen

  KeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkRes 
ult As Long) As Long

  ...... 

  Dim Hkey,r As Long

  r=RegOpenKey(HKCU,LockREG,Hkey)

  ........

  但是,有沒有想過有的用戶注冊表中沒有System主鍵,就無法打開這個子鍵,也就無法實現這個功能。解決的辦法是用另一個API,RegCreateKey這個API有主鍵則打開,如果沒有就自動創建并打開。所以上面的代碼應寫成

  Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

  ......

  r=RegCreateKey(HKCU,LockREG,Hkey)

  ......

  這樣就不會出錯了。放棄RegOpenKey吧,把用RegOpenKey的地方全部改成RegCreateKey,因為參數相同,所以不會出錯。這樣你的軟件才能在所有用戶的機器上通行無阻。(文中的HKCU = HKEY_CURRENT_USER;LockREG = Software\Microsoft\Windows\CurrentVerson\Policies\System)
相關教程