office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請(qǐng)用微信掃碼)

        

ACCESS讀寫注冊(cè)表信息

2017-11-13 12:25:00
cg1
轉(zhuǎn)貼
4416

在Access應(yīng)用程序中,我們有時(shí)需要對(duì)注冊(cè)表做一些更改以更好地展示Access的用戶體驗(yàn)。

如何對(duì)注冊(cè)表進(jìn)行修改呢?這里列舉3種方法。

方法一:

直接將要修改的鍵值保存為一個(gè) *.reg 文件,用注冊(cè)表編輯器導(dǎo)出某一鍵值就可以自動(dòng)生成對(duì)應(yīng)的 *.REG 文件。然后用 shell 去運(yùn)行 regedit /s c:\a.reg 即可。如:Shell "regedit /s c:\c.reg"

方法二:

使用 WSH 的 RegRead、RegWrite方法來讀寫

必須先引用:菜單 -> 工具 -> 引用 中去引用如下類庫:Windows Script Host Object Model

Function SetTypeAQuestionForHelpBox()
'    本函數(shù)調(diào)用 WSH 來修改注冊(cè)表達(dá)到去掉 OFFICE 組件右上角提問框的目的
    On Error Resume Next
    Dim a As New WshShell
'    如果采用后引用方式,也可以寫如下代碼:
'    Set a = CreateObject("WScript.Shell")
    
'    顯示提問框,鍵入需要幫助的問題 這個(gè)框的設(shè)置選項(xiàng)是在注冊(cè)表中的一下鍵位
'    HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\ToolBars\Settings\Microsoft Office Access AWDropdownHidden
'    先顯示鍵的值。注意:如果你從來沒有手動(dòng)設(shè)置過“顯示提問框”這個(gè)選項(xiàng)就沒有以下鍵值。
'    因此以下這行會(huì)出錯(cuò)。前面已經(jīng)使用過 On Error Resume Next 可以忽略該錯(cuò)誤。
'    再修改它(或者建立該鍵,并賦值)
    a.RegWrite "HKCU\Software\Microsoft\Office\14.0\Common\ToolBars\Settings\Microsoft Office Access AWDropdownHidden", 1, "REG_DWORD"
End Function


方法三:
在VB中,我們還可以直接使用Win32SDK下相關(guān)的注冊(cè)表API來修改和讀取注冊(cè)表。
調(diào)用的API函數(shù),操作注冊(cè)表
Option Explicit
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const HKEY_PERFORMANCE_DATA = &H80000004
Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_DYN_DATA = &H80000006
Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Sub Main()
    Dim ret As Long, hKey As Long, hKey2 As Long
    ret = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft", hKey)
    If ret = 0 Then
        MsgBox "HKLM\SOFTWARE\Microsoft = " & hKey
    End If
    ret = RegOpenKey(hKey, "Windows\CurrentVersion", hKey2)
    If ret = 0 Then
        MsgBox "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion = " & hKey2
    End If
'    Use RegCreateKey function to create subkey "HKEY_LOCAL_MACHINE\SOFTWARE\Hongqt"
    ret = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Hongqt", hKey)
    If Not ret Then
        MsgBox "Create HKEY_LOCAL_MACHINE\SOFTWARE\Hongqt SubKey Success"
    Else
        MsgBox "Create Subkey Operation Fail"
    End If
    RegCloseKey hKey
    RegCloseKey hKey2
End Sub

分享
文章分類
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪問