各位高手:
         我先用RegOpenKey打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer                              
         然后打算用RegSetValueEx写进名为“NoRecentDocsMenu”的DWORD值“1”,
就是想在WIN98下去掉开始菜单的“文档”,但是试了很多次都不成功!很困惑!
         我的RegSetValueEx最后两个参数是byval 1和4,在GOOGLE上找了好久,无果,请各位高手,前辈指教!

解决方案 »

  1.   

    '本函数在注册表中创建新的项及键值
    'sample usage - Debug.Print UpodateKey(HKEY_CLASSES_ROOT, "keyname", "newvalue")
    '-------------------------------------------------------------------------------------------------
    Public Function UpdateKey(KeyRoot As Long, KeyName As String, SubKeyName As String, SubReg As Long, SubKeyValue As String, IngNumber As Long) As Long
    Dim rc As Long' 返回代码
    Dim hkey As Long' 处理一个注册表关键字
    Dim hDepth As Long'
    Dim lpAttr As SECURITY_ATTRIBUTES ' 注册表安全类型
    lpAttr.nLength = 50 ' 设置安全属性为缺省值...
    lpAttr.lpSecurityDescriptor = 0 ' ...
    lpAttr.bInheritHandle = True' ...
    '------------------------------------------------------------
    '- 创建/打开注册表关键字...
    '创建/打开//KeyRoot//KeyName
    ' 错误处理...
    '------------------------------------------------------------
    rc = RegCreateKeyEx(KeyRoot, KeyName, 0, "", 0, KEY_WRITE, lpAttr, hkey, hDepth)
    If (rc <> ERROR_SUCCESS) Then GoTo CreateKeyError
    '------------------------------------------------------------
    '- 创建/修改关键字值...
    ' 要让RegSetValueEx() 工作需要输入一个空格...
    ' 创建/修改关键字值
    '- 关闭注册表关键字...
    '------------------------------------------------------------
    Select Case SubReg
    Case REG_SZ
    rc = RegSetValueEx(hkey, SubKeyName, 0, SubReg, SubKeyValue, IngNumber)
    If (rc <> ERROR_SUCCESS) Then GoTo CreateKeyError
    End Select
    rc = RegCloseKey(hkey)' 退出
    Exit Function ' 错误处理
    CreateKeyError:
    UpdateKey = False ' 设置错误返回代码
    rc = RegCloseKey(hkey)' 试图关闭关键字
    End Function'-------------------------------------------------------------------------------------------------