田草博客

互联网田草博客


网友交流QQ群:11740834 需注明申请加入原因

微信 公众号:ByCAD

邮箱:tiancao1001x126.com
ByCAD,微信公众号
首页 | 普通 | 电脑 | AutoCAD | VB/VB.NET | FLash | 结构 | 建筑 | 电影 | BIM | 规范 | 软件 | ID
-随机-|-分布-
-博客论坛-|-﨣﨤﨧﨨-
-网站导航-|-规范下载-
-BelovedFLash欣赏-

用户登陆
用户:
密码:
 

站点日历
73 2024 - 12 48
1234567
891011121314
15161718192021
22232425262728
293031


站点统计

最新评论



元宵节合家欢乐 VB三个注册表操作模块(都来自网络)
未知 取得HKEY_USERS\S-1-5-21-XXX……的键名   [ 日期:2008-02-22 ]   [ 来自:本站原创 ]  HTML
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _
        (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) _
        As Long
Private Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" _
        (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, _
        ByVal cbName As Long) As Long

Const ERROR_NO_MORE_ITEMS = 259&
Const ERROR_SUCCESS = 0&
Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_USERS = &H80000003
Const HKEY_PERFORMANCE_DATA_WIN2K_ONLY = &H80000004 '//仅Win2k
Const HKEY_CURRENT_CONFIG = &H80000005
Const HKEY_DYN_DATA = &H80000006
'取得HKEY_USERS\S-1-5-21-XXX……的键名
Function GetUserRegKey() As String
    Dim hKey As Long
    Dim i
    Dim Temp As String * 256
        If RegOpenKey(HKEY_USERS, "", hKey) = ERROR_SUCCESS Then
        While RegEnumKey(hKey, i, Temp, 256) = ERROR_SUCCESS
            '因为还存在一个S-1-5-21-XXX……XXX_Classes
            If InStr(UCase(Temp), "S-1-5-21-") > 0 And InStr(UCase(Temp), "CLASSES") = 0 Then GetUserRegKey = Temp
            i = i + 1
        Wend
        RegCloseKey hKey
    End If
End Function


[本日志由 田草 于 2008-02-22 03:41 PM 编辑]


引用这个评论 canceri 于 2008-03-19 04:43 AM 发表评论: 
强啊!!!好!支持!!!!正需要!

引用这个评论 tiancao1001 于 2008-02-22 08:45 PM 发表评论: 
BAT得到这个值
 
@echo off
for /f %%i in ('reg query "hku"^|findstr /c:"S-1-5-21"') do set reg=%%i
set reg=%reg:~11,44%
echo %reg%
pause>nul
 


引用这个评论 田草 于 2008-02-22 05:25 PM 发表评论: 
'取得AutoCAD各版本的注册表HKEY_USERS路径
Function GetAutoCAD_RegPath() As String
    Dim Temp As String
    Temp = Left(ThisDrawing.Application.Version, 4)
    Dim Temp1 As String
    '路径还只能是"\"而不是"/"
    Temp1 = GetUserRegKey + "\Software\Autodesk\AutoCAD\R" & Temp & "\"
    Dim hKey As Long
    Dim i
    Dim Temp2 As String * 256
    Temp2 = Space(256)
    Dim Temp3 As String
        If RegOpenKey(HKEY_USERS, Temp1, hKey) = ERROR_SUCCESS Then
        While RegEnumKey(hKey, i, Temp2, 256) = ERROR_SUCCESS
            '只有一个子键
            '去掉最后一个字符,不知道是什么
            Temp3 = Left(Trim(Temp2), Len(Trim(Temp2)) - 1)
            GetAutoCAD_RegPath = "HKEY_USERS\" & Temp1 & Temp3 & "\"
            i = i + 1
        Wend
        RegCloseKey hKey
    End If
End Function

发表评论 - 不要忘了输入验证码哦!
作者: 用户:  密码:   注册? 验证:  防止恶意留言请输入问题答案:2*4=?  
评论:

禁止表情
禁止UBB
禁止图片
识别链接
识别关键字

字体样式 文字大小 文字颜色
插入粗体文本 插入斜体文本 插入下划线
左对齐 居中对齐 右对齐
插入超级链接 插入邮件地址 插入图像
插入 Flash 插入代码 插入引用
插入列表 插入音频文件 插入视频文件
插入缩进符合
点击下载按钮 下标 上标
水平线 简介分割标记
表  情
 
Tiancao Blog All Rights Reserved 田草博客 版权所有
Copyright ©