首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • vb怎么搜索注册表下某项的值 [已结贴,结贴人:jiangqiaohua]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-29 16:28:30 楼主
    '******************************************************************
    '**********查询已存在的数值内容************************************
    Public Function getvalue(ByVal ip As Long, KeyName As String, valuename As String) As String
        Dim retval As Long
        Dim hKey As Long
        Dim valuesetting As Variant
        Dim cddata As Long
        Dim lvalue As Long
        Dim svalue As String
        Dim lvaluetye As Long
       
        Dim lValueType As Long
        retval = RegOpenKeyEx(ip, KeyName, 0, KEY_ALL_ACCESS, hKey)
        If retval > 0 Then
          getvalue = ""
          Exit Function
        End If
        retval = RegQueryValueEx(hKey, valuename, 0, lValueType, ByVal vbNullString, cddata)
        If retval <> 0 Then
          RegCloseKey hKey
          Exit Function
        End If
        Select Case lValueType
              Case REG_SZ
                    svalue = String(cddata, Chr(0))
                    RegQueryValueEx hKey, valuename, 0, lValueType, ByVal svalue, cddata
                    valuesetting = Left$(svalue, cddata)
                    getvalue = CStr(valuesetting)
              Case REG_DWORD
                    RegQueryValueEx hKey, valuename, 0, lValueType, lvalue, cddata
                    valuesetting = lvalue
                    getvalue = CStr(valuesetting)
        End Select
    End Function
    '实例:获取HKEY_CURRENT_USER下的项"xiaopeng"中名为"redice"的新键的键值
    '代码为 getvalue HKEY_CURRENT_USER ,"xiaopeng","redice"
    '*********************************************************************


    Private Sub dfd_Click()
    Dim shell

    'shell = getvalue(HKEY_USERS, "S-1-5-21-1715567821-113007714-725345543-1003", "")
    shell = getvalue(HKEY_USERS, "S-1-5-21-1715567821-113007714-725345543-1003\Software\Microsoft\Internet Explorer\Main", "Start Page")
    MsgBox shell
    End Sub


    用这个读取是没问题的
    读出来IE 的主页为  http://www.fzpj.cn


    我发现网上
    读注册表获得

    IE的主页地址
    HKEY_USERS\S-1-5-21-1454471165-839522115-854245398-500\Software\Microsoft\Internet Explorer\Main\下
    Start Page这个值

    明显是不一样的
    到同事电脑上一看
    同样是XP
    S-1-5-21-1715567821-113007714-725345543-1003

    这个项的名称还是不一样的

    那以为着要读取每台电脑主页的值就应该用搜索

    应该是
    shell = getvalue(HKEY_USERS, "(某个项名称)\Software\Microsoft\Internet Explorer\Main", "Start Page")

    这个怎么做到啊
    我想

    Software\Microsoft\Internet Explorer\Main
    这个位置肯定是一样的
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-02-29 16:32:581楼 得分:0
    这个问题转化为就是
    如何才能用VB获取注册表中当前用户的HKEY_USERS\S-1-5-21-...序列号!

    或则是
    S-1-5-21-... 
    这一串是怎么产生的?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • unsigned
    • 等级:
    发表于:2008-02-29 16:40:592楼 得分:0
    S-1-5-21-1454471165-839522115-854245398-500
    这个是用户的内部ID号,访问还需要有权限的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-01 14:03:183楼 得分:0
    读这个吧
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-01 14:13:574楼 得分:20
    若取当前用户的用这个
    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved